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

重置redis缓存到期使用Spring数据redis

方野
2023-03-14

如果在记录的初始过期时间之前访问记录,则需要重置过期时间。我使用Spring数据redis API使用Redis作为缓存。我正在使用RediscacheManager的setDefaultEx的(5000)设置默认过期。无法找到有关重置到期时间的任何解决方案或留档。感谢任何指导。

此外,我想知道,为什么这不能成为Redis缓存的一个自然功能,毕竟,它应该从缓存中获取最常用的记录。

共有1个答案

穆俊哲
2023-03-14

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

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;
            }
        });
    }
 类似资料:
  • 本文向大家介绍详解Spring Boot使用redis实现数据缓存,包括了详解Spring Boot使用redis实现数据缓存的使用技巧和注意事项,需要的朋友参考一下 基于spring Boot 1.5.2.RELEASE版本,一方面验证与Redis的集成方法,另外了解使用方法。 集成方法 1、配置依赖 修改pom.xml,增加如下内容。 2、配置Redis 修改application.yml,增

  • 问题内容: 我需要使用php创建一个具有大量数据的mysql数据库的解决方案。我的程序将有许多要求,我认为如果我使用缓存和OO数据库,我会得到很好的结果,但是我没有经验。 我认为,例如,如果我将保存在mysql中的信息缓存到redis数据库中,性能将会提高,但是我不知道这是否是个好主意,因此我希望有人来帮助我选择。 抱歉,如果我的英语不太好,我来自巴西。 问题答案: 是的,redis对此很有帮助。

  • 1. 前言 在MyBatis 缓存一节中,我们介绍了 MyBatis 的多级缓存。MyBatis 的二级缓存可在多个会话中共享缓存,但是这也加大了内存的使用空间,如果二级缓存空间占有量过多势必会导致程序运行空间的不足,因此我们需要将二级缓存转移到专业的缓存服务器上。 Redis 是一个高性能的 kv 数据库,被广泛的使用在缓存服务上,MyBatis 项目开发者提供了 Redis 缓存的实现。本小节

  • 如何启用分布式/集群缓存时使用Redis与缓存。 尤其是通过

  • 我使用的是Spring-data-redis cache(1.6.1),Jredis Client2.7.3。我们希望启用故障转移。如果redis服务器停机,我希望应用程序继续工作 1)如果我使用spring-data xml配置,redis cache工作良好。它调用后端,缓存数据,然后在第二次调用时不调用后端。但是,我不知道如何捕获redis异常,如果服务器使用xml配置关闭,并返回null,

  • 本文向大家介绍spring结合redis如何实现数据的缓存,包括了spring结合redis如何实现数据的缓存的使用技巧和注意事项,需要的朋友参考一下 1、实现目标   通过redis缓存数据。(目的不是加快查询的速度,而是减少数据库的负担)   2、所需jar包     注意:jdies和commons-pool两个jar的版本是有对应关系的,注意引入jar包是要配对使用,否则将会报错。因为co