首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring-data-redis: cacheManager配置问题

Spring-data-redis: cacheManager配置问题
EN

Stack Overflow用户
提问于 2014-09-05 08:47:18
回答 2查看 2.8K关注 0票数 0

我使用redis作为我的spring缓存实现。官方文档说我们应该像这样配置缓存管理器:

代码语言:javascript
复制
<!-- 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不能返回空集合“。然后我引用它并再次搜索它,现在配置文件如下所示:

代码语言:javascript
复制
<!-- 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>

现在它不抱怨空集合,而是关于初始化的其他东西。

这里还有两个问题:

  1. 在cacheNames属性中,我看到其他人正在使用"list“、"set”和"map“。有什么不同吗?
  2. 如何配置内部的bean?

几天来我一直在为这个豆子的设置而挣扎。你能帮我弄一下吗?提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-01-30 07:17:04

作为提示,请参阅org.springframework.cache.annotation.EnableCaching注释。

在里面,它谈到了CacheManager接口以及它是如何工作的。

作为一个快速的‘让您开始’,您需要指定您想要使用的缓存的名称(例如当您使用@CacheConfig(cacheNames='...')@Cacheable(value = '...')时)。这个想法是,你正在创建相关的“事物”的逻辑分组,以被缓存,即:书籍,汽车,贷款等。

在BookService中,您将使用类似于@CacheConfig(cacheNames='Books')的东西。

希望这能帮上忙!

票数 0
EN

Stack Overflow用户

发布于 2015-06-26 09:02:30

我在使用Jedis时也遇到了类似的问题。我的发现之一是,spring非常特定于Jedis版本的。对于我的例子,Spring 1.5.0.redisJedis 2.6.2兼容。

对于您的情况,请参阅下面的链接,查找编译依赖部分,您将发现1.3.4.RELEASEJedis 2.4.1兼容。我相信一旦您更改POM文件Jedis版本,您的问题就会得到解决。

http://mvnrepository.com/artifact/org.springframework.data/spring-data-redis/1.3.4.RELEASE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25681924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档