首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring data redis重置redis缓存过期时间

使用spring data redis重置redis缓存过期时间
EN

Stack Overflow用户
提问于 2018-01-05 12:29:57
回答 1查看 332关注 0票数 1

如果记录在初始过期时间之前被访问,我需要重置过期时间。我正在使用Spring data redis API来使用Redis作为缓存。我正在使用RediscacheManager的setDefaultExpiration(5000)来设置默认的过期时间。找不到有关重置过期时间的任何解决方案或文档。任何指导都是值得感谢的。

此外,我想知道,为什么这不是Redis Cache的一个自然特性,毕竟,它应该从缓存中获得最常用的记录。

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 04:49:49

编写此方法并从适当的位置调用。对我来说很有吸引力。

代码语言:javascript
复制
public void resetExpire(String keyPattern) {
        LOG.debug("Getting Multiple keys from cache with pattern:  " + keyPattern);
        Set<String> keylist = redisTemplate.keys(keyPattern);
        redisTemplate.executePipelined(new RedisCallback<Object>() {
            public Object doInRedis(RedisConnection connection) throws DataAccessException {
                keylist.forEach(key->
                redisTemplate.expire(key, 5000, TimeUnit.SECONDS));
                return null;
            }
        });
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48107197

复制
相关文章

相似问题

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