redis发布订阅功能怎么实现
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,redis发布订阅功能怎么实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis 发布订阅(pub/sub)是一种消息通信模式
千家信息网最后更新 2025年11月09日redis发布订阅功能怎么实现
redis发布订阅功能怎么实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel。
发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。
1,引入Jedis
redis.clients jedis 2.9.0
2,具体实现代码
package com.hcmony.sword.redis; import org.apache.commons.lang3.StringUtils;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPubSub; /** *Shenjue.java基本描述
* * * @author hcmony * @since V1.0.0, 2019/05/06 20:07 */public class RedisMQ { private static final String TOPIC="TOPIC"; private final JedisPool jedisPool; public RedisMQ(JedisPool jedisPool) { this.jedisPool = jedisPool; } /** * 发布消息 * @param topic * @param messge */ public void publish(String topic ,String messge){ Jedis jedis = null; if (StringUtils.isBlank(topic)){ topic=TOPIC; } try { jedis = jedisPool.getResource(); jedis.publish(topic,messge); } finally { if (null != jedis) { jedis.close(); } } } /** * 订阅消息 * @param topic * @param jedisPubSub */ public void subscribe(String topic,JedisPubSub jedisPubSub){ Jedis jedis = null; if (StringUtils.isBlank(topic)){ topic=TOPIC; } try { jedis = jedisPool.getResource(); jedis.subscribe(jedisPubSub,topic); } finally { if (null != jedis) { jedis.close(); } } } public static void main(String[] args) { //默认连接本地redis, // loclhost:6379 JedisPool jedisPool = new JedisPool(); RedisMQ publish = new RedisMQ(jedisPool); new Thread(new Runnable() { @Override public void run() { publish.subscribe("PID",new MyjedisPubSub()); } }).start(); for (int i=0;i<100;i++){ publish.publish("PID","messge"+i); } } public static class MyjedisPubSub extends JedisPubSub { @Override public void onMessage(String channel, String message) { System.out.println("-------channel is "+channel+" message is "+message); } } }
关于redis发布订阅功能怎么实现问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
订阅
消息
订阅者
频道
功能
发布者
问题
主题
客户
客户端
更多
机制
帮助
解答
易行
简单易行
三个
代码
内容
发送者
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
离散数学和软件开发
软件开发商靠什么赚钱
java软件开发教程培训
网络安全知识的手抄报 学生
sqlite数据库加密
报社网络安全管理制度
绝地求生服务器炸
河南省森安互联网科技有限公司
网络安全区分保护标准
铜陵企业软件开发
对于数据库安全来说
海南本地软件开发出厂价格
惠普服务器主板只能识别4g内存
上海应用软件开发怎样收费
十堰智能软件开发学习
滁州软件开发的公司有哪些
苏州正规软件开发要多少钱
阿里云服务器配置教程
网络安全的核心信息安全
winsdk软件开发
监控系统的管理服务器
网络安全课题组自我评价
boss直聘登录提示服务器繁忙
软件开发答辩演讲稿
网络安全攻防现场演示
软件开发北京上海
广州点餐系统软件开发
甘肃融聚族合网络技术有限公司
超级固话网络安全说明
师范大学学科网数据库