1

我正在使用带有 Guava 缓存的 Spring 缓存抽象。我有一个带有@Cacheable 注释和参数(用作缓存键)的方法来将值放入缓存中。但是这个方法是在多线程环境中访问的,所以有多个并发调用具有相同参数值的方法。这意味着创建要缓存的值的相同逻辑对同一个缓存键多次执行,并同时多次放入缓存中。如果对于每个参数值(缓存键),该方法只调用一次并放入缓存一次,效率会更高。Spring可以处理这样的场景吗?

4

1 回答 1

1

从 Spring Framework 4.3 开始(在撰写本文时仍处于早期开发阶段),@Cacheable调用的新标志sync可用。如果您启用该标志,则您基本上选择了您所要求的内容。

Spring Framework 4.3 GA 将于明年 5 月左右发布,但您应该会在 2016 年第一季度看到第一个里程碑。请尝试一下,让我们知道这是否适合您。

于 2015-12-26T11:13:16.857 回答