Redis的发布和订阅
创始人
2024-01-28 12:14:11
0

Redis的发布和订阅

什么是发布和订阅

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

redis客户端可以订阅任意数量的频道。

redis的发布和订阅

客户端可以订阅频道如下图:

在这里插入图片描述

当给这个频道发布消息后,消息就会发送给订阅的客户端,如下:

在这里插入图片描述

发布和订阅常用命令

subscribe:订阅一个或者多个频道

subscribe channel [channel ...]

订阅给定的一个或多个频道的信息。注:channel可以是任意

示例:

127.0.0.1:6379> subscribe msg1 msg2	# 订阅2个频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"	# 返回值的类型:显示订阅成功
2) "msg1"		# 订阅的频道名字
3) (integer) 1	# 目前已订阅的频道数量
1) "subscribe"	# 返回值的类型:显示订阅成功
2) "msg2"		# 订阅的频道名字
3) (integer) 2	# 目前已订阅的频道数量

publish:发布消息到指定的频道

publish channel message

将信息message发送到指定的频道channel。注:另起一个redis客户端测试

示例:

#另起一个redis客户端
127.0.0.1:6379> publish msg1 hello	#向msg1频道发送hello
(integer) 1#第1个redis客户端
1) "message"	# 返回值的类型:信息
2) "msg1"		# 来源(从那个频道发送过来)
3) "hello"		# 信息内容

psubscribe:订阅一个或多个符合给定模式的频道bc

psubscribe pattern [pattern ...]

订阅一个或多个符合给定模式的频道。

每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。

示例:

127.0.0.1:6379> psubscribe news.* tweet.*
1) "psubscribe"                  # 返回值的类型:显示订阅成功
2) "news.*"                      # 订阅的模式
3) (integer) 1                   # 目前已订阅的模式的数量
1) "psubscribe"
2) "tweet.*"
3) (integer) 2

pubsub:查看查看订阅的频道

pubsub  [argument [argument ...]]

比如:pubsub 频道名

示例:

127.0.0.1:6379> pubsub channels
1) "msg2"
2) "msg1"

unsubscribe:退订一个或者多个频道

unsubscribe channel [channel ...]

这个命令在不同的客户端中有不同的表现。

示例:

127.0.0.1:6379> unsubscribe msg1
1) "unsubscribe"	# 返回值的类型:显示退订
2) "msg1"			# 退订的频道名字
3) (integer) 0

解释:

nsubscribe命令不能应用于redis-cli客户端中,因为redis-cli运行订阅后,客户端处于阻塞模式(就是不在redis命令行状态中),只能通过Ctrl-C退出订阅模式,而如果使用第三方组件则可以实现这一功能。

punsubscribe也是使用“punsubscribe news.*”的命令形式来使用的。

相关内容

热门资讯

适合年轻人小本创业好项目 适合...   :凉点美食店开一间冷点美食店,投资小、见效快,操作简单,一学就会。随着天气越来越热,吃凉点的人也...
五千元以内小本创业项目有哪些 ... 中医药销售具有自主的知识产权是中国中药最大的优势(这是其他医药子行业所不具备的),入世对于中国中药行...
适合穷人的小本创业项目 适合穷... 穷人不敢创业是为什么呢?因为害怕失去,害怕自己辛辛苦苦积攒下来的血汗钱赔个精光。如今生活中穷人的日子...
小本创业5个好项目 穷人告别打... 生活水平越来越高,这对于刚毕业的年轻人来说或许就产生了不小的压力,进入职场的时间不长,工资也没有太高...
昆明小本创业好项目 昆明小本创... 为什么穷人多不敢去创业蛋糕创业蛋糕店创业30岁女人创业做什么适合女性创业的大学生适合什么创业毕业生如...
创业板股票代码 创业板股票代码... 原标题:近5000万老股民注意!想参与注册制下创业板股票打新,赶紧做这件事!摘要【近5000万老股民...
在家小本创业办厂项目 在家小本... 准备在家办厂致富的你,知道现在在家办厂有什么项目?家庭小型投资办厂项目有哪些?现在在家投资,如果你可...
农民创业小本项目 农民创业小本... 我国是农业大国,农村人口众多,在农村乡镇,不少人觉得创业项目太少,无从选择。其实随着经济的发展,农村...
小本创业项目小本农村创业好项目... 我国是农业大国,农村人口众多,在农村乡镇,不少人觉得创业项目太少,无从选择。其实随着经济的发展,农村...
一人小本创业好项目 一人小本创... 一个人创业一直以来都是比较艰难的,但是也有人突破了所有的困难的成功者,虽然是小数,但也是值得大家去尝...