Spring整合redis实现key过期事件监听:https://www.cnblogs.com/pxblog/p/13969375.html

可以用于简单的过期订单取消支付、7天自动收货场景中

1、Spring Boot整合redis 参考

https://www.cnblogs.com/pxblog/p/12980634.html

2、打开redis服务的配置文件   添加notify-keyspace-events Ex  如果是注释了,就取消注释

然后重启redis

Linux安装redis:https://www.cnblogs.com/pxblog/p/12225758.html

Windows安装redis:https://www.cnblogs.com/pxblog/p/13370729.html

3、在redis配置类 @Configuration 添加如下内容

  1. @Bean
  2. RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
  3. RedisMessageListenerContainer container = new RedisMessageListenerContainer();
  4. container.setConnectionFactory(connectionFactory);
  5. return container;
  6. }

4、新建过期Key监听

RedisKeyExpirationListener.java

  1. import org.springframework.data.redis.connection.Message;
  2. import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
  3. import org.springframework.data.redis.listener.RedisMessageListenerContainer;
  4. import org.springframework.stereotype.Component;
  5.  
  6. @Component
  7. public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
  8.  
  9. public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
  10. super(listenerContainer);
  11. }
  12.  
  13. /**
  14. * 针对 redis 数据失效事件,进行数据处理
  15. *
  16. * @param message
  17. * @param pattern
  18. */
  19. @Override
  20. public void onMessage(Message message, byte[] pattern) {
  21. System.out.println("过期"+message.toString());
  22. }
  23. }

使用方式

  1. //把key放进redis中,并设置过期时间为三秒,也可以按照自己的写法
  2. redisService.set(key,key, 3);

SpringBoot整合redis实现过期key监听事件的更多相关文章

  1. redis过期key监听事件

    目录 redis安装 docker拉取 启动 redis 配置 命令监听 问题 程序监听 具体监听类 效果 总结 redis常用语缓存操作,但是redis功能不仅仅于此.今天我们来看看redis的ke ...

  2. Redis集群下过期key监听

    1. 前言 在使用redis集群时,发现过期key始终监听不到.网上也没有现成的解决方案.于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听.以上做法可 ...

  3. 【Redis过期Key监听】

    https://blog.csdn.net/wlddhj/article/details/89881055

  4. Redis集群环境下的键值空间监听事件实现方案

    一直想记录工作中遇到的问题和解决的方法,奈何没有找到一方乐土,最近经常反思,是否需要记录平时的点滴,后台还是决定下定决心记录一些,以便以后用到的时候找不着,实现这样的一个功能主要也是业务所需要的. 需 ...

  5. SpringBoot整合Redis及Redis工具类撰写

            SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable). ...

  6. springboot整合redis(注解形式)

    springboot整合redis(注解形式) 准备工作 springboot通常整合redis,采用的是RedisTemplate的形式,除了这种形式以外,还有另外一种形式去整合,即采用spring ...

  7. springboot整合redis——redisTemplate的使用

    一.概述 相关redis的概述,参见Nosql章节 redisTemplate的介绍,参考:http://blog.csdn.net/ruby_one/article/details/79141940 ...

  8. 九、springboot整合redis二之缓冲配置

    1.创建Cache配置类 @Configuration @EnableCaching public class RedisCacheConfig extends CachingConfigurerSu ...

  9. SpringBoot非官方教程 | 第九篇: springboot整合Redis

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot9-redis/ 本文出自方志朋的博客 这篇文章主 ...

随机推荐

  1. 【shell】真正解决syntax error:unexpected end of file?

    今天写了个较长的shell脚本,结构嵌套比较多,最后运行时,出现了syntax error: unexpected end of file的错误. 这个之前碰到过,经常在win系统转移脚本文件到uni ...

  2. python-django-请求响应对象

    用户请求终端的信息: 包括使用的ip地址,浏览器类型等 cookie: 测试测试: def print_request(request): print(request) print("!!! ...

  3. TCP三次握手与Linux的TCP内核参数优化

    感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理 一:TCP的三次握手 1.TCP简述 TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接.TCP建立连接可以简单称为: ...

  4. Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、roofts和userdata按照分区表烧写镜像

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121706033红胖子(红模仿)的博文大全:开发技术集合( ...

  5. day16 Linux三剑客之awk

    day16 Linux三剑客之awk 1.什么是awk,主要作用是什么? 什么是awk,主要作用是什么? awk 主要用来处理文件,将文本按照指定的格式输出.其中包含变量,循环以及数组. 2.awk的 ...

  6. AOP中ProceedingJoinPoint获取目标方法,参数,注解

    private void saveLog(ProceedingJoinPoint jp,long time)throws Throwable { package com.cy.pj.common.as ...

  7. Linux学习 - 帮助命令

    一.获取帮助信息man(manual) 1 功能 获得命令或配置文件的帮助信息 2 语法 man  [1.5]  [命令或配置文件] 1 命令的帮助 (可用 whatis 代替) 5 配置文件的帮助 ...

  8. 【编程思想】【设计模式】【测量模式Testability】Setter_injection

    Python版 https://github.com/faif/python-patterns/blob/master/dft/setter_injection.py #!/usr/bin/pytho ...

  9. OpenStack之三: 安装MySQL,rabbitmq, memcached

    官网地址:https://docs.openstack.org/install-guide/environment-sql-database-rdo.html #:安装mysql [root@mysq ...

  10. jquery datatable使用简单示例

    目标: 使用 jQuery Datatable 构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求.同时, jQuery Datatable 强大的功能支持:排序,分页,搜索等. Query ...