当前位置: 首页 > 知识库问答 >
问题:

Spring data redis:cacheManager配置问题

华浩壤
2023-03-14

我使用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时,它可以正常工作。释放。

但是在最近的版本中(例如jedis=2.5.2和spring-data-redis=1.3.4. RELEASE),上面的配置不起作用。相反,它抛出一个异常,说“loadCache不得返回一个空集合”。然后我参考了它并再次谷歌了一下,现在配置文件是这样的:

<!-- 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

几天来,我一直在努力解决这个bean设置。。你能帮我做一下吗?提前感谢

共有2个答案

何浩荡
2023-03-14

在将Jedis与spring-data-redis一起使用时,我也遇到了类似的问题。我的发现之一是,spring-data-redis对Jedis版本非常具体。就我而言,Spring-data-redis 1.5.0。RELEASE与Jedis 2.6.2兼容。

对于您的情况,请参阅下面的链接,查找html" target="_blank">编译依赖项部分,您将找到1.3.4。RELEASE与Jedis 2.4.1兼容。我相信一旦您更改了POM文件Jedis版本,您的问题就会得到解决。

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

秦昊穹
2023-03-14

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

在本文中,我们讨论了CacheManager界面及其工作原理。

为了快速“启动”,您需要指定要使用的缓存的名称(例如当您使用@CacheConfig(cacheNames=“…”)@Cacheable(value=“…”)时)。其思想是,您正在创建要缓存的相关“事物”的逻辑分组,即:书籍、汽车、贷款等。

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

希望有帮助!

 类似资料:
  • 我有一个xml配置文件用于设置gemfire,如下所示 工作很好。当我指定id属性时,它会抛出t任何一个都可以,请帮助我

  • 我是android开发领域的新手。下载Android Studio后,我尝试运行我的第一个HelloWorld。但是Android Studio给了我任何我不知道如何解决的问题。 在类

  • 我正在尝试将log4j2.0配置为报告日志。 我的配置保存为log4j2.xml,这是它的内容: 它存在于项目的类路径中,我试着把它放在许多其他目录中... 我在代码中创建了一个记录器,如下所示: 没有任何东西被写入,也没有文件被创建。当我调试代码时,我看到记录器是默认的记录器(控制台)。

  • 我们有配置了FreeIPA的HDP-2.2集群。但当我们试图通过knox访问HiveJDBC时,我们面临着一个问题。以下是我们正在使用的JDBC URI: jdbc: hive2://xxxxxxxxx: 8443/; ssl=true; sslTrustStore=/var/lib/Knox/data/Security/keystore/gateway.jks; Trust StorePassw

  • 我正在尝试为基于spring的tomcat应用程序配置logback访问。在我的pom中添加了以下行。xml文件: 我还在pom文件的tomcat插件配置中添加了这个。 我已将资源文件放在以下位置:src/主/资源/日志回溯.xml src/主/资源/日志回溯访问.xml 但是,虽然日志.xml工作,但tomcat无法获取日志回溯访问.xml文件。如何使用我的tomcat6插件附加访问xml文件?

  • 我明白了。错误和不理解缺少的部分。 在nod和chromedriver上安装了chromehttps://github.com/SeleniumHQ/selenium/wiki/ChromeDriver 用Chrome驱动程序测试 消息:测试方法SeleniumGridSimkeTest.单元测试1.引发异常:System.无效操作异常:无法创建新服务: ChromeDriverService构建

  • 包含片段/fastcgi-php.com;= 这是我的配置,我一辈子都不能让它工作。 我的期望是有超文本传输协议://mediaserver.localdomain/去"/var/www/html/组织者/index.php" 当我转到http://mediaserver时。localdomain/homelab/it提取“/opt/homelab/index.php” 但只有超文本传输协议://

  • 在我的项目中,我一直在使用Spring3和Hibernate4。我已经添加了支持Spring3和Hibernate4项目的所有依赖项。我并不特定于hibernate上的版本,但它应该支持Spring3。 当我尝试在Tomcat7项目上部署时,我得到了以下异常。 原因:org。springframework。豆。工厂BeanCreationException:无法自动关联字段:私有组织。冬眠Sess