1、首先启用redis通知功能(ubuntu下操作):

编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知):

notify-keyspace-events Ex

或者登陆redis-cli之后,输入以下命令:

config set notify-keyspace-events Ex

2、Java Spring中配置监听

接口类:

importjava.io.Serializable;importjava.util.Map;public interfaceIMessageDelegate {voidhandleMessage(String message);voidhandleMessage(Map message);void handleMessage(byte[] message);voidhandleMessage(Serializable message);voidhandleMessage(Serializable message, String channel);

}

实现类:

importorg.apache.logging.log4j.LogManager;importorg.apache.logging.log4j.Logger;importorg.springframework.stereotype.Service;importrhxtune.smarthome.api.interfaces.IMessageDelegate;importjava.io.Serializable;importjava.util.Map;

@Servicepublic class DefaultMessageDelegate implementsIMessageDelegate {public static Logger logger = LogManager.getLogger(DefaultMessageDelegate.class.getName());

@Overridepublic voidhandleMessage(String message) {

logger.info("handleMessage1:" +message);

}

@Overridepublic voidhandleMessage(Map message) {

logger.info("handleMessage2:" +message);

}

@Overridepublic void handleMessage(byte[] message) {

logger.info("handleMessage3:" +message);

}

@Overridepublic voidhandleMessage(Serializable message) {

logger.info("handleMessage4:" +message);

}

@Overridepublic voidhandleMessage(Serializable message, String channel) {

logger.info("handleMessage5:" + message +channel);

}

}

spring-redis.xml中配置:

class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" destroy-method="destroy">

class="org.springframework.data.redis.listener.adapter.MessageListenerAdapter">

原文:http://www.cnblogs.com/zhangpengshou/p/6248032.html

java spring redis订阅_spring中订阅redis键值过期消息通知相关推荐

  1. 【Java方法】从方法中返回多个值

    [Java方法]从方法中返回多个值 (1)java方法只能返回一个值,但是在实际需求中经常遇到一个方法返回多个值,这是该如何操作? 思路:可以量多个值装到字典(Map)中,将字典作为一个值返回. (2 ...

  2. python字典怎么添加值_python字典中如何添加键值对

    添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...

  3. python 如何定义空字典_python字典中如何添加键值对

    添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...

  4. cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

  5. 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面

    关于cookie >笔记 >理解 cookie相当于病人手里的病历 cookie的格式 请求头中添加cookie键值对 练习-不使用cookie访问个人中心 访问人人网个人中心 结果是得到 ...

  6. 根据数组中的某个键值大小进行排序,仅支持二维数组

    /**     * 根据数组中的某个键值大小进行排序,仅支持二维数组     *     * @param array $array 排序数组     * @param string $key 键值 ...

  7. java 什么是哨兵_Java中使用redis哨兵模式

    Redis概述 在传统的软件项目中,使用数据库进行数据存储,但是有一些致命的缺陷,这些缺陷反映在性能方面.由于数据库存储数据的介质是磁盘,而磁盘读写的速度比较慢.在不存在大量高并发的应用场景中,这个缺 ...

  8. java 什么是哨兵_Java中的Redis 哨兵高可用性

    让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? ...

  9. spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存

    Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作. 在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如 Ecache. ...

最新文章

  1. 最小割 ---- 二分图最大独立集(集合冲突模型) ---- 骑士共存 方格取数(网络流24题)
  2. 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET
  3. 网站如何进行渠道跟踪_开发网站不知道如何进行推广?5个技巧教会你
  4. 简易嵌入式管理平台 C 实现
  5. 004-cpu的区分
  6. Windows窗口分析
  7. boost::timer::progress_display相关的测试程序
  8. 【Unity Shader】三、漫反射Diffuse Shader例子
  9. C# - dynamic 特性
  10. 新手站长必须养成的五个好习惯
  11. mysql中 视图的优缺点_数据库视图优缺点分析
  12. Topcoder SRM 638 DIV 2 (大力出奇迹)
  13. html 给word插入页眉和页脚,如何在Word插入页眉和页脚
  14. python 猿编程模块(一)ybc_speech
  15. h5获取视频的第一帧
  16. 史诗级动态规划 教程 by hch
  17. 学习open62541 --- [58] 使用数据库存储历史数据
  18. U281819 糟心的语文课
  19. vbs执行相应的bat文件
  20. 测绘工程和计算机专业哪个好,测绘工程专业就业前景如何

热门文章

  1. cannot import name 'InteractiveConsole'
  2. python float转str
  3. opencv 灰度图
  4. cuda测试caffe编译安装
  5. cuda安装和caffe
  6. pythondocx批量提取目录及内容_使用pythondocx搜索目录中的所有docx文件(批处理)...
  7. oracle安装过程掉电,oracle数据库掉电恢复
  8. java获得一个空闲端口号_Python找出9个连续的空闲端口
  9. 重新精读《Java 编程思想》系列之类的访问权限
  10. centos7开启,关闭防火墙