【已解决】redisCache注解失效,没写cacheConfig

server/2025/2/2 21:36:25/

环境配置

jdk11    springboot 2.6.13    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>3.2.0</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>3.2.0</version>
</dependency>
  redis:host: 192.168.2.129port: 6379username: defaultpassword: 'linux02'database: 1
#    默认使用lettucelettuce:pool:
#        最大连接数,最大空闲数,最小空闲数max-active: 5max-idle: 2min-idle: 2#    缓存10min,允许缓存null值防止缓存穿透cache:type: redisredis:time-to-live: 600cache-null-values: true

代码

java">  @Cacheable(cacheNames = BLOG_CACHE_PREFIX + "otherPassages", key = "#userId")@Overridepublic List<PassageTitleVO> getOtherPassagesByUserId(Long userId) {........return passageTitleVOS;}

解决

网上找了一些案例,有的不需要写cacheConfig,有些需要写,我之前就用过cacheable的注解,当时就是上面的配置,没写配置类也有效果,这次我最开始就没写,然后Cacheable注解就没效果了,最后写了个cacheConfig才解决。

java">
@Configuration
@EnableCaching
public class CacheConfig extends CachingConfigurerSupport {@Beanpublic RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {return RedisCacheManager.builder(redisConnectionFactory).build();}}

然后又发现yml设置的过期时间没有生效,存到redis的是永不过期,又在 cacheConfig配置了过期时间,600s

java">@Configuration
@EnableCaching
public class CacheConfig extends CachingConfigurerSupport {@Beanpublic RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(600));return RedisCacheManager.builder(redisConnectionFactory).cacheDefaults(redisCacheConfiguration).build();}}

http://www.ppmy.cn/server/164436.html

相关文章

什么是Javascript,有什么特点

Javascript JavaScript 是一种广泛使用的编程语言&#xff0c;主要用于在网页上添加交互性和动态功能。 它最初由 Netscape 公司的 Brendan Eich 在 1995 年开发&#xff0c;并迅速成为 Web 开发的标准之一。 主要特点 解释型语言&#xff1a; JavaScript 是一种解释型语言&…

DeepSeek-R1 论文解读 —— 强化学习大语言模型新时代来临?

近年来&#xff0c;人工智能&#xff08;AI&#xff09;领域发展迅猛&#xff0c;大语言模型&#xff08;LLMs&#xff09;为通用人工智能&#xff08;AGI&#xff09;的发展开辟了道路。OpenAI 的 o1 模型表现非凡&#xff0c;它引入的创新性推理时缩放技术显著提升了推理能力…

Visual Studio使用GitHub Copilot提高.NET开发工作效率

GitHub Copilot介绍 GitHub Copilot 是一款 AI 编码助手&#xff0c;可帮助你更快、更省力地编写代码&#xff0c;从而将更多精力集中在问题解决和协作上。 GitHub Copilot Free包含哪些功能&#xff1f; 每月 2000 代码补全&#xff0c;帮助开发者快速完成代码编写。 每月 …

SAP SD学习笔记27 - 请求计划(开票计划)之1 - 定期请求(定期开票)

上两章讲了贩卖契约&#xff08;框架协议&#xff09;的概要&#xff0c;以及贩卖契约中最为常用的 基本契约 - 数量契约和金额契约。 SAP SD学习笔记26 - 贩卖契约(框架协议)的概要&#xff0c;基本契约 - 数量契约_sap 框架协议-CSDN博客 SAP SD学习笔记27 - 贩卖契约(框架…

MySQL知识点总结(十二)

请说明EXPLAIN语句的作用 EXPLAIN语句能够生成SQL语句的执行计划&#xff0c;显示出优化器如何执行该SQL语句的最优路径。可以用来检查SELECT,INSERT,REPLCAE,UPDATE和DELETE语句。 为什么使用索引会比全表扫描提供更好的查询性能&#xff1f; 索引是一个方案对象&#xff0…

【题解】AtCoder Beginner Contest ABC391 D Gravity

题目大意 原题面链接 在一个 1 0 9 W 10^9\times W 109W 的平面里有 N N N 个方块。我们用 ( x , y ) (x,y) (x,y) 表示第 x x x 列从下往上数的 y y y 个位置。第 i i i 个方块的位置是 ( x i , y i ) (x_i,y_i) (xi​,yi​)。现在执行无数次操作&#xff0c;每一次…

三、js笔记

(一)JavaScript概述 1、发展历史 ScriptEase.(客户端执行的语言):1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言)Javascript:Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigat…

rust如何操作oracle

首先鄙视甲骨文&#xff0c;这么多钱的公司&#xff0c;不做一个rust库&#xff0c;还要社区帮忙。有个开源的rust库&#xff0c;叫oracle&#xff0c;但是并不是甲骨文做的。 我们来看一个从oracle数据库取所有表和视图的示例: // 定义连接字符串let conn_str1 format!(&quo…