资讯专栏INFORMATION COLUMN

spring cache 配置缓存存活时间

LittleLiByte / 1120人阅读

摘要:本身不支持的设置,以下代码可自定义实现的,针对。直接上代码指明自定义的自定义的,实现存活天提供默认的,应用于全局

Spring Cache @Cacheable本身不支持key expiration的设置,以下代码可自定义实现Spring Cache的expiration,针对Redis、SpringBoot2.0。

直接上代码:

@Service
@Configuration
public class CustomCacheMng{
    private Logger logger = LoggerFactory.getLogger(this.getClass());

    // 指明自定义cacheManager的bean name
    @Cacheable(value = "test",key = ""obj1"",cacheManager = "customCacheManager")
    public User cache1(){
        User user = new User().setId(1);
        logger.info("1");
        return user;
    }

    @Cacheable(value = "test",key = ""obj2"")
    public User cache2(){
        User user = new User().setId(1);
        logger.info("2");
        return user;
    }
    
    // 自定义的cacheManager,实现存活2天
    @Bean(name = "customCacheManager")
    public CacheManager cacheManager(
            RedisTemplate redisTemplate) {
        RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory());
        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofDays(2));
        return new RedisCacheManager(writer, config);
    }
    
    // 提供默认的cacheManager,应用于全局
    @Bean
    @Primary
    public CacheManager defaultCacheManager(
            RedisTemplate redisTemplate) {
        RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory());
        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
        return new RedisCacheManager(writer, config);
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/62061.html

相关文章

  • Spring Data Redis 让 NoSQL 快如闪电 (1)

    摘要:以远程缓存服务器见长,对易挥发数据来说是极快型数据库。即使成功写入数据库,最后也可能会因为网络故障而使得缓存服务器以失败告终。 【编者按】本文作者为 Xinyu Liu,详细介绍了 Redis 的特性,并辅之以丰富的用例。在本文的第一部分,将重点概述 Redis 的方方面面。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 建立在 Java 企业版之上的多层体系结构是强大的服务...

    JerryC 评论0 收藏0
  • XXL-CONF v1.5.1 发布,分布式配置管理平台

    v1.5.1 新特性 1、ftl变量判空问题修复; 2、配置快照文件生成时自动创建多层父目录; 3、移除ehcache依赖,取消local cache容量限制; 4、ZK初始化逻辑优化,避免并发初始化,阻塞至TCP连接创建成功才允许后续操作; 5、升级多项maven依赖至较新版本,如spring等; 简介 XXL-CONF 是一个分布式配置管理平台,拥有强一致性、毫秒级动态推送、多环境、多语言...

    jay_tian 评论0 收藏0
  • nginx做负载均衡器以及proxy缓存配置

    摘要:这个指令属于模块的,指定后端返回什么样的异常响应时,使用另一个是专门提供负载均衡器内节点的健康检查的外部模块,由淘宝的姚伟斌大神开发,通过它可以用来检测后端的健康状态。 关于nginx的安装和基本配置请参考nginx,本文在原基础上完成以下几个功能: 结合proxy和upstream模块实现nginx负载均衡 结合nginx_upstream_check_module模块实现后端服...

    Moxmi 评论0 收藏0

发表评论

0条评论

LittleLiByte

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<