@Beanpublic CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {return new MyRedisCacheManager(RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory), defaultCacheConfig());}private RedisCacheConfiguration defaultCacheConfig() {return RedisCacheConfiguration.defaultCacheConfig().serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(keySerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(valueSerializer())).computePrefixWith(name -> CACHE_PREFIX + name+ ":").entryTtl(Duration.ofSeconds(600));}
最后我们修改下 @Cacheable 注解使用方式,在原有 value 属性的 configCache 值后添加 #600,单独标识缓存有效期 。代码如下,@Cacheable(value = https://www.isolves.com/it/cxkf/jiagou/2023-11-09/"configCache#600", key = "#root.methodName + '_' + #root.args[0]")@Overridepublic String getValueByKey(String key) {...}
看下 getValueByKey 方法生成的 Redis 缓存 key 有效期是多久 。如下,文章插图
图片
OK , 看到是 590 秒有效期后,我们就大功告成了,希望本文能对大家有所帮助
推荐阅读
- java中如何实现本地缓存?
- 影视大全能咋样离线缓存
- 一文带你了解Spring Actuator
- Springboot之把外部依赖包纳入Spring容器管理的两种方式
- SpringBoot接口参数校验N种实用技巧大揭秘
- Springboot 框架中事件监听和发布机制详细介绍
- Spring的BeanFactory与FactoryBean的区别,你现在懂了吗?
- 如何将本地jar文件打包到 springboot 执行jar文件中
- 认识一些常见的Spring Boot内置Health Indicator
- 影视大全能怎么样离线缓存