ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis发布订阅

2021-01-15 23:00:48  阅读:328  来源: 互联网

标签:订阅 127.0 0.1 Redis daily 6379 发布 integer


Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
  • 客户端可以订阅一个或者多个频道,从而成为这些频道的订阅者,每当有其他客户端向被订阅的频道发送消息时,频道的订阅者都会收到这条消息。
  • 举例说明:

订阅给定的一个或多个频道的信息。
SUBSCRIBE channel [channel …]

将信息发送到指定的频道。
PUBLISH channel message

#####--客户端1
127.0.0.1:6379> subscribe daily  #订阅 daily 消息
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "daily"
3) (integer) 1
#####--客户端2 
127.0.0.1:6379> publish daily "Redis publish is test" # 发布 daily消息
(integer) 1
#####--客户端1将会收到-客户端2 发布的最新 daily 消息
127.0.0.1:6379> subscribe daily
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "daily"
3) (integer) 1
1) "message"
2) "daily"
3) "Redis publish is test"

订阅一个或多个符合给定模式的频道。
PSUBSCRIBE pattern [pattern …]

127.0.0.1:6379> psubscribe daily* #匹配所有daily打头的频道
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "daily*"
3) (integer) 1

取消订阅指定的频道, 如果不指定频道,则会取消订阅所有频道
UNSUBSCRIBE [channel [channel …]]

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

查看订阅与发布系统状态。
PUBSUB subcommand [argument [argument …]]

#PUBSUB CHANNELS [pattern]
#列出当前的活跃频道。
127.0.0.1:6379> pubsub channels  # 列出所有
1) "daily"
2) "daily123"
3) "other"
127.0.0.1:6379> pubsub channels dail* #列出指定规则的活跃频道
1) "daily"
2) "daily123"
#PUBSUB NUMSUB [channel-1 ... channel-N]¶
#返回给定频道的订阅者数量, 订阅模式的客户端不计算在内。
127.0.0.1:6379> pubsub numsub daily daily123
1) "daily"
2) (integer) 1
3) "daily123"
4) (integer) 1
#PUBSUB NUMPAT 返回订阅模式的数量。
# 这个命令返回的不是订阅模式的客户端的数量,而是客户端订阅的所有模式的数量总和。
127.0.0.1:6379> psubscribe dai* #增加一个订阅模式
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "dai*"
3) (integer) 1
127.0.0.1:6379> pubsub numpat #获取订阅模式数量
(integer) 1

退订指定的规则, 如果没有参数则会退订所有规则
PUNSUBSCRIBE [pattern [pattern …]]

127.0.0.1:6379> punsubscribe daily
1) "punsubscribe"
2) "daily"
3) (integer) 0

标签:订阅,127.0,0.1,Redis,daily,6379,发布,integer
来源: https://blog.csdn.net/sinat_38926283/article/details/112688993

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有