java spring redis订阅_spring中订阅redis键值过期消息通知
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键值过期消息通知相关推荐
- 【Java方法】从方法中返回多个值
[Java方法]从方法中返回多个值 (1)java方法只能返回一个值,但是在实际需求中经常遇到一个方法返回多个值,这是该如何操作? 思路:可以量多个值装到字典(Map)中,将字典作为一个值返回. (2 ...
- python字典怎么添加值_python字典中如何添加键值对
添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...
- python 如何定义空字典_python字典中如何添加键值对
添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...
- cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面
关于cookie >笔记 >理解 cookie相当于病人手里的病历 cookie的格式 请求头中添加cookie键值对 练习-不使用cookie访问个人中心 访问人人网个人中心 结果是得到 ...
- 根据数组中的某个键值大小进行排序,仅支持二维数组
/** * 根据数组中的某个键值大小进行排序,仅支持二维数组 * * @param array $array 排序数组 * @param string $key 键值 ...
- java 什么是哨兵_Java中使用redis哨兵模式
Redis概述 在传统的软件项目中,使用数据库进行数据存储,但是有一些致命的缺陷,这些缺陷反映在性能方面.由于数据库存储数据的介质是磁盘,而磁盘读写的速度比较慢.在不存在大量高并发的应用场景中,这个缺 ...
- java 什么是哨兵_Java中的Redis 哨兵高可用性
让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? ...
- spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存
Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作. 在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如 Ecache. ...
最新文章
- 最小割 ---- 二分图最大独立集(集合冲突模型) ---- 骑士共存 方格取数(网络流24题)
- 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET
- 网站如何进行渠道跟踪_开发网站不知道如何进行推广?5个技巧教会你
- 简易嵌入式管理平台 C 实现
- 004-cpu的区分
- Windows窗口分析
- boost::timer::progress_display相关的测试程序
- 【Unity Shader】三、漫反射Diffuse Shader例子
- C# - dynamic 特性
- 新手站长必须养成的五个好习惯
- mysql中 视图的优缺点_数据库视图优缺点分析
- Topcoder SRM 638 DIV 2 (大力出奇迹)
- html 给word插入页眉和页脚,如何在Word插入页眉和页脚
- python 猿编程模块(一)ybc_speech
- h5获取视频的第一帧
- 史诗级动态规划 教程 by hch
- 学习open62541 --- [58] 使用数据库存储历史数据
- U281819 糟心的语文课
- vbs执行相应的bat文件
- 测绘工程和计算机专业哪个好,测绘工程专业就业前景如何