redis 的发布消息、订阅频道、取消订阅以及按照模式订阅和取消订阅

注:原始资料来自享学课堂

目录

1、redis客户端实现发布订阅

1.1 启动端口,发布hello world

1.2 启动另一个客户端,订阅

1.3 常用指令

1.4 按模式规则订阅和取消订阅

2、应用场景

2.1 测试实践:微信班级群 class:20170101


1、redis客户端实现发布订阅

1.1 启动端口,发布hello world

127.0.0.1:6379> publish channel:test "hello word"
//发布成功,还没有人订阅主题test,所以返回0
(integer) 0

1.2 启动另一个客户端,订阅


127.0.0.1:6379> subscribe channel:test
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel:test"
3) (integer) 1
1) "message"
2) "channel:test"
3) "hello word"

此时发布消息返回1

127.0.0.1:6379> publish channel:test "hello word"
(integer) 1
127.0.0.1:6379> publish channel:test "hello word2"
(integer) 1
127.0.0.1:6379>

1.3 常用指令

查看订阅数:pubsub numsub channel:test // 频道 channel:test 的订阅数

127.0.0.1:6379> pubsub numsub channel:test
1) "channel:test"
2) (integer) 1
127.0.0.1:6379>

取消订阅unsubscribe channel:test


127.0.0.1:6379> unsubscribe channel:test
1) "unsubscribe"
2) "channel:test"
3) (integer) 0
127.0.0.1:6379>

1.4 按模式规则订阅和取消订阅

发布两个主题

127.0.0.1:6379> publish test "hello world"
(integer) 0
127.0.0.1:6379> publish test2 "hello world2"
(integer) 0

定于以test开头的主题

127.0.0.1:6379> psubscribe test*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "test*"
3) (integer) 1
1) "pmessage"
2) "test*"
3) "test"
4) "hello world"
1) "pmessage"
2) "test*"
3) "test2"
4) "hello world2"

2、应用场景

  1. 今日头条订阅号、微信订阅公众号、新浪微博关注、邮件订阅系统
  2. 即时通信系统:即时聊天
  3. 群聊:通过模式订阅实现群聊

2.1 测试实践:微信班级群 class20170101

1 、学生 C 订阅一个主题叫 : class:1
subscribe class:1

2、学生 A 针对 class:1主体发送消息,那么所有订阅该主题的用户都能够接收到该数据。

publish class:1 "hello world! I am A"

3、学生 B 针对 class:20170101 主体发送消息,那么所有订阅该主题的用户都能 够接收到该数据。

publish class:1 "hello world! I am B"

展示学生 C 接受到的 A\B 同学发送过来的消息信息

1) "subscribe"
2) "class:20170101"
3) (integer) 1
1) "message"
2) "class:20170101"
3) "hello world! I am A"
1) "message"
2) "class:20170101"
3) "hello word! I am B"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值