Redis 发布订阅

小柒博客
小柒博客
小柒博客
313
文章
92
评论
2020-05-1310:47:18 评论 2.5K 1033字阅读3分26秒

Redis 发布订阅

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

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

下图展示了频道channel1,以及订阅这个频道的三个客户端 —— client2 、 client5和client1之间的关系:

Redis 发布订阅

当有新消息通过PUBLISH命令发送给频道channel1时, 这个消息就会被发送给订阅它的三个客户端:

Redis 发布订阅

实例

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为redisChat:

[root@localhost ~]# redis-cli

127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

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 ...]]
指退订给定的频道。
继续阅读
  • 微信号
  • 微信扫一扫加我!
  • weinxin
  • 微信公众号
  • 微信扫一扫关注我!
  • weinxin
小柒博客
  • 本文由 发表于 2020-05-1310:47:18
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

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