发布:publish
例:publish mychannel hello2015
返回值是0表示没有订阅者
返回值是1表示已经有了订阅者
订阅:subscribe
例:subscribe mychannel [.....]
返回值是三个:
1) "message" 固定写法
2) "channel" 固定写法
3) "发布者发布的信息"
取消订阅:unsubscribe
例:unsubscribe [channel]
按照规则订阅:psubscribe
例:psubscribe channel? 能匹配channel1 等的的发布者
按照规则取消订阅:punsubscribe
注意:使用punsubscribe命令只能退订通过psubscribe 订阅的规则,不能退订直接通过subscribe 订阅的规则。
可以使用这个 发布 订阅功能,实现网站信息推送给订阅者功能,大概代码如下:
package bj.zm.redis; import org.junit.Test; import redis.clients.jedis.Jedis; /** * 发布功能 * @author Administrator * */ public class TestPub { /** * 发布消息 */ @Test public void test(){ Jedis jedis = new Jedis("192.168.1.110", 6379); jedis.publish("zmchannel", "hello 2015"); } } 订阅功能: package cn.crxy.redis.test; import java.util.Set; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPubSub; /** * 订阅功能 * @author Administrator * */ public class TestSub { @Test public void test(){ Jedis jedis = new Jedis("192.168.1.170", 6379); final Jedis jedis2 = new Jedis("192.168.1.170", 6379); JedisPubSub jedisPubSub = new JedisPubSub() { @Override public void onUnsubscribe(String channel, int subscribedChannels) { System.out.println("取消订阅"); } @Override public void onSubscribe(String channel, int subscribedChannels) { System.out.println("订阅成功"); } @Override public void onPUnsubscribe(String pattern, int subscribedChannels) { } @Override public void onPSubscribe(String pattern, int subscribedChannels) { } @Override public void onPMessage(String pattern, String channel, String message) { } @Override public void onMessage(String channel, String message) { /*if(message.equals("quit")){ this.unsubscribe(); }*/ Set<String> set = jedis2.smembers("set"); /** * Email.sendil(set,message); */ System.out.println(message); } }; jedis.subscribe(jedisPubSub , "crxy"); } }
相关推荐
Redis发布与订阅系统源码,统一配置更新数据库,亲测可用,简单易懂。切记运行程序前要开启Redis服务.
Redis 发布订阅 Demo,SpringBoot 使用 Redis 发布订阅模式
Redis支持跨进程发布订阅机制。代码实现了key过期的notification.
Java实现Redis的消息订阅和发布实例。
实现redis发布订阅的一个小Demo,一个发布消息,其他订阅了的都能接收消息
基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,redis发布-订阅数据库,redis发布-订阅 基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,...
基于netcore 3.0的redis发布订阅示例代码,直接可以运行,学习netcore和redis的很好入门示例代码。
Redis在Delphi7下使用,支持发布、订阅等
本案例包含redis的发布订阅功能,以及dotnet core+SignalR实现的简单即时通信,并提供文档笔记。本案例初衷是想结合redis的发布订阅功能+websocket实现消息客户端页面订阅指定的消息,并在客户端页面进行显示;
Redis支持跨进程发布订阅机制。代码实现了key过期的notification.
主要为大家详细介绍了redis发布和订阅的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java实现Redis的消息订阅和发布源码
redispubandsub订阅预发布,本包使用C#编写的代码,在使用之前需要有redis的服务,否则无法使用
redis绑定webSocket发布订阅,进行长连接推送,用以暂时进度条,查看任务进行状态,失败数量与成功数量
可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 使用了redis发布订阅消息队列 数据库采用MySQL 可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 ...
redis订阅机制,一方面推送消息,另一方面同时接收消息。
redis开启服务后,用付服务端发送订阅,客户端将实时收到数据。
Redis 发布与订阅(下).flv
Redis 发布与订阅(上).flv
springboot+redis+websocket 使用redis发布订阅实现websocket集群