Redis教程09(发布和订阅)

举报
波波烤鸭 发表于 2022/03/30 02:02:45 2022/03/30
【摘要】 之前几篇文章给大家介绍了redis的五种数据类型及相关的命令,本文介绍redis中比较简单的发布订阅 Redis教程08(ZSet有序集合介绍) Redis教程07(Set集合介绍) Re...

之前几篇文章给大家介绍了redis的五种数据类型及相关的命令,本文介绍redis中比较简单的发布订阅


Redis教程08(ZSet有序集合介绍)
Redis教程07(Set集合介绍)
Redis教程06(List类型命令介绍)
Redis教程05(hash类型命令介绍)
Redis教程04(String类型之BIT)
Redis教程03(String介绍)


Redis发布和订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:
发送者(pub)发送消息
订阅者(sub)接收消息
Redis 客户端可以订阅任意数量的频道

订阅消息

客户端订阅消息的命令如下

127.0.0.1:6379> subscribe c1 c2 c3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "subscribe"
2) "c2"
3) (integer) 2
1) "subscribe"
2) "c3"
3) (integer) 3

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

发送消息如下命令:

127.0.0.1:6379> publish c1 "hello redis"
(integer) 1
127.0.0.1:6379> publish c2 'hehe'
(integer) 1

  
 
  • 1
  • 2
  • 3
  • 4

客户端同时会接收到消息:

127.0.0.1:6379> subscribe c1 c2 c3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "subscribe"
2) "c2"
3) (integer) 2
1) "subscribe"
2) "c3"
3) (integer) 3
1) "message"
2) "c1"
3) "hello redis" #接收到c1发送的消息
1) "message"
2) "c2" 
3) "hehe" #接收到c2发送的消息

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

模式订阅消息

客户端在订阅消息的时候还可以通过模式匹配订阅的方式订阅,如下

127.0.0.1:6379> psubscribe c*
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c*" #订阅所有发送则是c开头的消息
3) (integer) 1

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

发送消息,没有区别

127.0.0.1:6379> publish c1 "hello redis"
(integer) 1

  
 
  • 1
  • 2

接收消息

127.0.0.1:6379> psubscribe c*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "c*"
3) (integer) 1
1) "pmessage"
2) "c*"
3) "c1"
4) "hello redis" #自动接收到c1发送来的消息

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

发布订阅要注意网络连接断开的话需要重新连接,此时就会有可能数据的丢失。这个需要注意~

文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。

原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/87103385

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。