我使用redis作为我的spring缓存实现。官方文档说我们应该像这样配置缓存管理器:
<!-- Old version -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">当jedis = 2.0.0和spring= 1.0.2.RELEASE版本时,它工作得很好。
但是在最近的版本中(例如jedis = 2.5.2和spring 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>现在它不抱怨空集合,而是关于初始化的其他东西。
这里还有两个问题:
几天来我一直在为这个豆子的设置而挣扎。你能帮我弄一下吗?提前感谢
发布于 2015-01-30 07:17:04
作为提示,请参阅org.springframework.cache.annotation.EnableCaching注释。
在里面,它谈到了CacheManager接口以及它是如何工作的。
作为一个快速的‘让您开始’,您需要指定您想要使用的缓存的名称(例如当您使用@CacheConfig(cacheNames='...')或@Cacheable(value = '...')时)。这个想法是,你正在创建相关的“事物”的逻辑分组,以被缓存,即:书籍,汽车,贷款等。
在BookService中,您将使用类似于@CacheConfig(cacheNames='Books')的东西。
希望这能帮上忙!
发布于 2015-06-26 09:02:30
我在使用Jedis时也遇到了类似的问题。我的发现之一是,spring非常特定于Jedis版本的。对于我的例子,Spring 1.5.0.redis与Jedis 2.6.2兼容。
对于您的情况,请参阅下面的链接,查找编译依赖部分,您将发现1.3.4.RELEASE与Jedis 2.4.1兼容。我相信一旦您更改POM文件Jedis版本,您的问题就会得到解决。
http://mvnrepository.com/artifact/org.springframework.data/spring-data-redis/1.3.4.RELEASE
https://stackoverflow.com/questions/25681924
复制相似问题