Spring Boot中方法级别的多个缓存实现

时间:2017-03-28 10:32:08

标签: java spring caching spring-boot

我想要的是,在一种方法上有两种不同的缓存实现(比如说Redis和EhCache)。含义@Cacheable方法应该缓存Redis和EhCache。

甚至可能吗?

1 个答案:

答案 0 :(得分:1)

选项1: 堆叠缓存。在Spring中配置本地缓存。然后通过CacheLoader / CacheWriter连接分布式缓存。需要仔细评估一致性。例如。如果更新进入分布式缓存,您如何使本地缓存失效?这不是那么微不足道。也许它很容易而且不需要你的数据,也许它几乎是不可能的。

选项2: 使用分布式缓存,提供所谓的 near cache 。这实际上是你想要自己做的组合,但是在产品中结合起来。我知道hazelcast和Infinispan提供近乎缓存。但是,您的里程数可能会因一致性和弹性而有所不同。我知道hazelcast最近刚刚增强了近缓存,因此它是一致的。

有趣的用例,实际上是一个常见的问题。进一步的想法和讨论受到高度赞赏。