Redis进阶
Redis PubSub发布订阅
Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。 消息多播:生产者生产一次消息,中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的一种解耦方式。 ## 发布/订阅流程 1) 订阅者/等待接收消息 ```shell SUBSCRIBE test ``` 上述示例使用SUBSCRIBE命令订阅了名为 test 的 channel。命令执行后该客户端会出处于等待接收消息的阻塞状态。 2) 发布者/发送消息 下面再启动一个 Redis 客户端,输入如下命令: ```shell PUBLISH test "hello world" PUBLISH test "how are you" ``` 通过上述PUBLISH命令发布了三条信息。现在两个客户端在处于同一个名为“test”的频道上,前者负责接收消息,后者负责发布消息。 3) 订阅者/成功接收消息 完成了上述操作后,您会在接收消息的客户端得到如下输出结果  ## 常用命令汇总 - **psubscribe pattern [pattern ...]** 订阅一个或多个符合指定模式的频道。 - **pubsub subcommand [argument [argument ...]]** 查看发布/订阅系统状态,可选参数 1) channel 返回在线状态的频道。 2) numpat 返回指定模式的订阅者数量。 3) numsub 返回指定频道的订阅者数量。 - **pubsub subcommand [argument [argument ...]]** 将信息发送到指定的频道。 - **punsubscribe [pattern [pattern ...]]** 退订所有指定模式的频道。 - **subscribe channel [channel ...]** 订阅一个或者多个频道的消息。 - **unsubscribe [channel [channel ...]]** 退订指定的频道。
顶部
收展
底部
[TOC]
目录
Redis bitmap位图操作
Redis HyperLoglog基数统计
Redis PubSub发布订阅
Redis Stream消息队列
Redis 布隆过滤器
Redis 分区技术
Redis Pipeline管道技术
Redis RDB持久化
Redis AOF持久化
Redis Cluster主从模式
Redis Sentinel哨兵模式
Redis 三种缓存问题
Redis 大 key优化
相关推荐
Redis教程
Redis命令
Redis面试题总结
PHP 操作Redis