Redis Key过期监听的配置详解

 更新时间:2024年06月11日 11:35:56   作者:hrui0706  
这篇文章主要介绍了Redis Key过期监听配置,默认情况下在Windows系统中双击redis-server.exe用的是内置的配置文件,文中通过代码示例和图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

默认情况下在Windows系统中双击redis-server.exe用的是内置的配置文件

如果希望用这两个配置文件

  • redis.windows.conf:这是用于在Windows上运行Redis服务器的标准配置文件。可以使用这个文件通过命令行启动Redis服务器。
  • redis.windows-service.conf:这是专门为在Windows服务中运行Redis设计的配置文件。可以使用这个文件将Redis作为Windows服务来运行。

Window安装Redis为服务并设置开机自启   

在redis安装目录下管理员运行cmd  

redis-server --service-install redis.windows.conf --service-name redis 
net start redis //开机自启

修改redis的配置文件

@Configuration
public class RedisConfig2 {
    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
                                            MessageListenerAdapter listenerAdapter) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        // 订阅键过期事件
        container.addMessageListener(listenerAdapter, new ChannelTopic("__keyevent@0__:expired"));
        return container;
    }
 
    @Bean
    MessageListenerAdapter listenerAdapter(RedisKeyExpiredListener listener) {
        return new MessageListenerAdapter(listener);
    }
}
@Component
public class RedisKeyExpiredListener implements MessageListener {
 
    @Autowired
    private ITReportTimesService tReportTimesService;
 
    @Override
    public void onMessage(Message message, byte[] pattern) {
        String expiredKey = message.toString();
        if (expiredKey.startsWith("sleep:decibels:")) {//只处理该key过期删除时间
            Long userId = Long.valueOf(expiredKey.split(":")[2]);
            // 处理非正常关机导致的睡眠结束逻辑
            handleUnexpectedShutdown(userId);
        }
    }
 
    private void handleUnexpectedShutdown(Long userId) {
        // 处理睡眠监测结束逻辑,例如记录结束时间
        System.out.println("监测到了@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
        //要处理的逻辑.......
    }
}
 @Autowired
    private RedisTemplate  redisTemplate;
 
    @GetMapping("/sleepTimes")//监测时候每多少分钟调用一次
    public AjaxResult sleepTimes(){
        LoginUser loginUser = getLoginUser();
        Long userId = loginUser.getUserId();
        // 往redis中记录,延时30秒,通过Redis key过期监听判断用户是否非正常关机
        String redisKey = "sleep:decibels:" + userId;
        //第一次会创建key和value  第二次调用会更新(覆盖相同key)key和value
        redisTemplate.opsForValue().set(redisKey, "I am active", 60, TimeUnit.SECONDS);
        System.out.println("sleepTimes");
        return success();
    }

到此这篇关于Redis Key过期监听的配置详解的文章就介绍到这了,更多相关Redis Key过期监听内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis配置文件详解

    Redis配置文件详解

    这篇文章主要介绍了Redis配置文件详解,本文详细完整的用中文解释了Redis配置文件中各种参数的作用和功能,需要的朋友可以参考下
    2015-04-04
  • 浅谈Redis变慢的原因及排查方法

    浅谈Redis变慢的原因及排查方法

    本文主要介绍了浅谈Redis变慢的原因及排查方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Spring Boot 整合Redis 实现优惠卷秒杀 一人一单功能

    Spring Boot 整合Redis 实现优惠卷秒杀 一人一单功能

    这篇文章主要介绍了Spring Boot 整合Redis 实现优惠卷秒杀 一人一单,在分布式系统下,高并发的场景下,会出现此类库存超卖问题,本篇文章介绍了采用乐观锁来解决,需要的朋友可以参考下
    2022-09-09
  • Linux安装单机版Redis的完整步骤

    Linux安装单机版Redis的完整步骤

    这篇文章主要给大家介绍了关于Linux安装单机版Redis的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Redis下载部署并加入idea应用的小结

    Redis下载部署并加入idea应用的小结

    这篇文章主要介绍了Redis下载部署并加入idea应用,需要的朋友可以参考下
    2022-10-10
  • Redis高可用集群redis-cluster详解

    Redis高可用集群redis-cluster详解

    redis cluster 是redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了redis分布式的需求,当一个redis节点挂了可以快速的切换到另一个节点,对redis-cluster高可用集群相关知识感兴趣的朋友一起看看吧
    2022-03-03
  • redis服务启动与停止方式

    redis服务启动与停止方式

    这篇文章主要介绍了redis服务启动与停止方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • redis单节点安装与配置方式

    redis单节点安装与配置方式

    这篇文章主要介绍了redis单节点安装与配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • redis.conf中使用requirepass不生效的原因及解决方法

    redis.conf中使用requirepass不生效的原因及解决方法

    本文主要介绍了如何启用requirepass,以及启用requirepass为什么不会生效,从代码层面分析了不生效的原因,以及解决方法,需要的朋友可以参考下
    2023-07-07
  • 浅谈Redis的几个过期策略

    浅谈Redis的几个过期策略

    在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。
    2021-05-05

最新评论