怎么建设微网站,百度有几种推广方式,做网站 被谷歌收录,百家利网站开发目录 消息系统命令 消息系统 发布/订阅#xff0c;即 pub/sub#xff0c;是一种消息通信模式#xff1a;发布者也称为消息生产者#xff0c;生产和发送消息到存储系统#xff1b;订阅者也称为消息消费者#xff0c;从存储系统接收和消费消息。这个存储系统可以是文件系… 目录 消息系统命令 消息系统 发布/订阅即 pub/sub是一种消息通信模式发布者也称为消息生产者生产和发送消息到存储系统订阅者也称为消息消费者从存储系统接收和消费消息。这个存储系统可以是文件系统 FS、消息中间件 MQ、数据管理系统 DBMS也可以是 Redis。整个消息发布者、订阅者与存储系统称为消息系统。
消息系统中的订阅者订阅了某类消息后只要存储系统中存在该类消息其就可不断的接收并消费这些消息。当存储系统中没有该消息后订阅者的接收或消费将会阻塞。而当发布者将消息写入到存储系统后会立即唤醒订阅者。当存储系统放满时不同的发布者具有不同的处理方式有的会阻塞发布者的发布等待可用的存储空间有的则会将多余的消息丢失。当然不同的消息系统消息的发布/订阅方式也是不同的。例如 RocketMQ、Kafka 等消息中间件构成的消息系统中发布/订阅的消息都是以主题 Topic 分类的。而 Redis 构成的消息系统中发布/订阅的消息都是以频道 Channel 分类的。
Redis的发布与订阅功能可以让客户端通过广播方式将消息message同时发送给可能存在的多个客户端并且发送消息的客户端不需要知道接收消息的客户端的具体信息。换句话说发布消息的客户端与接收消息的客户端两者之间没有直接联系。
命令
subscribe订阅频道 格式SUBSCRIBE channel [channel1 channel2 ······ ] 功能Redis 客户端通过一个 subscribe 命令可以同时订阅任意数量的频道。在输出了订阅了主题后命令处于阻塞状态等待相关频道的消息。 订阅者
publish向频道发送消息 格式PUBLISH channel message 功能Redis 客户端通过一条 publish 命令可以发布一个频道的消息。返回值为接收到该消息的订阅者数量。 发布者 订阅者
unsubscribe退订频道 格式UNSUBSCRIBE channel [channel1 channel2 ······ ] 功能Redis 客户端退订指定的频道。 说明如果没有频道被指定也就是一个无参数的 UNSUBSCRIBE 命令被执行那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。在这种情况下命令会返回一个信息告知客户端所有被退订的频道。 注意redis-cli在使用subscribe订阅频道和psubscribe订阅模式这写命令后会进入阻塞状态无法输入其他命令。详见为什么在redis-cli 中使用了 subscribe命令后无法再执行unsubscribe等命令
psubscribe订阅模式 格式PSUBSCRIBE pattern [pattern1 pattern2 ······ ] 功能订阅一个或多个符合给定模式的频道。 说明这里的模式可以是全局通配符 * 也可以使用选择匹配符 [ ]。例如news.* 模式可以匹配所有以 news 开头的频道像 news.music、news.blog、news.sport 等而 news.[ie]t 模式则可以匹配news.it频道和news.et频道。 发布者 订阅者
punsubscribe退订模式 格式PUNSUBSCRIBE pattern [pattern1 pattern2 ······ ] 功能退订一个或多个符合给定模式的频道。 说明这里的模式可以是全局通配符 * 也可以使用选择匹配符 [ ]。如果没有频道被指定其效果与 SUBSCRIBE 命令相同客户端将退订所有订阅的频道。 pubsub查看发布与订阅的相关信息 pubsub channels查看所有被订阅的频道
格式PUBSUB CHANNELS [pattern]功能列出当前所有的活跃频道。活跃频道指的是那些至少有一个订阅者的频道。说明pattern 参数是可选的。如果不给出 pattern 参数将会列出订阅/发布系统中的所有活跃频道。如果给出 pattern 参数那么只列出和给定模式 pattern 相匹配的那些活跃频道。
pubsub numsub查看频道的订阅者数量
格式PUBSUB NUMSUB [channel1 channel2 ······ ]功能返回给定频道的订阅者数量。不给定任何频道则返回一个空列表。
pubsub numpat查看被订阅模式的总数量
格式PUBSUB NUMPAT功能查询当前 Redis 所有客户端订阅的所有频道模式的数量总和
发布一个订阅模式
检测到一个订阅模式
终止一个订阅模式
没有检测到订阅模式