Redis 发布订阅

小柒助手 Redis评论59,1831字数 382阅读1分16秒阅读模式

一、Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

下图展示了频道channel1,以及订阅这个频道的三个客户端 —— client2 、 client5和client1之间的关系:
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

文章源自小柒网-https://www.yangxingzhen.cn/7009.html

当有新消息通过PUBLISH命令发送给频道channel1时, 这个消息就会被发送给订阅它的三个客户端:
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

文章源自小柒网-https://www.yangxingzhen.cn/7009.html

二、实例

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为redisChat:
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

[root@localhost ~]# redis-cli
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

127.0.0.1:6379> SUBSCRIBE redisChat
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

Reading messages... (press Ctrl-C to quit)
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

1) "subscribe"
文章源自小柒网-https://www.yangxingzhen.cn/7009.html

2) "redisChat"

3) (integer) 1

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。

[root@localhost ~]# redis-cli

127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

127.0.0.1:6379> PUBLISH redisChat "Learn redis by yangxingzhen.com"

(integer) 1

#订阅者的客户端会显示如下消息

1) "message"

2) "redisChat"

3) "Redis is a great caching technique"

1) "message"

2) "redisChat"

3) "Learn redis by yangxingzhen.com"

Redis 发布订阅命令

下表列出了redis发布订阅常用命令:

序号

命令及描述

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

2

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

3

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

4

PUNSUBSCRIBE [pattern [pattern ...]]
退订所有给定模式的频道。

5

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

6

UNSUBSCRIBE [channel [channel ...]]
指退订给定的频道。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
我的微信
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
我的公众号
公众号已复制
Redis最后更新:2023-8-21
小柒助手
  • 本文由 小柒助手 发表于 2020年5月13日 10:47:18
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.cn/7009.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖动滑块以完成验证