我使用 redis 作为我的 spring 缓存实现。官方文档说我们应该像这样配置缓存管理器:
<!-- Old version -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
当 jedis 版本 = 2.0.0 和 spring-data-redis 版本 = 1.0.2.RELEASE 时,它工作正常。
但在更新的版本中(例如 jedis = 2.5.2 和 spring-data-redis = 1.3.4.RELEASE),上面的配置不起作用。相反,它抛出一个异常,说“loadCaches 不能返回一个空的集合”。然后我引用它并再次谷歌它,现在配置文件是这样的:
<!-- New Version -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
<property name="cacheNames">
<map>
<bean id="someid" class="someclass" p:name="somename"/>
</map>
</property>
</bean>
现在它不再抱怨空集合,而是抱怨初始化。
所以这里还有两个问题:
- 在 cacheNames 属性中,我看到其他人正在使用“list”、“set”和“map”。有什么区别?
- 里面的bean怎么配置?
我已经在这个 bean 设置上苦苦挣扎了几天。你能帮我解决一下吗?提前致谢