阻塞缓存支持

Blocking cache support

Spring缓存抽象不支持阻塞缓存,即当你在多个线程上同时对同一个键进行读取操作时,缓存方法只会被调用一次。 Guava 缓存通过 LoadingCache 开箱即用地支持该功能。 Spring 是否计划引入一个单独的 blocking 缓存抽象层来与 guava 缓存一起使用? 在某些情况下,可缓存方法只为一个键调用一次是很重要的,所以我认为这是一个很好的特性。

检查SPR-9254

虽然我同意它看起来是个不错的功能,但这肯定涉及锁定和开销以使其正常工作。当然,您不必担心那些底层的东西,因为它是在库级别处理的。但这并不意味着幕后没有发生任何潜在的令人讨厌的事情。

无论如何,这个问题应该让您充分了解我们的立场。

(顺便说一句,不需要为同一个问题创建多个 SO 线程)。