Redis-发布与订阅

Redis的发布与订阅功能可以让客户端通过广播方式,将消息(message)同时发送给可能存在的多个客户端,并且发送消息的客户端不需要知道接收消息的客户端的具体信息。换句话说,发布消息的客户端与接收消息的客户端两者之间没有直接联系。

1 PUBLISH:向频道发送消息

用户可以通过执行PUBLISH命令,将一条消息发送至给定频道:

        PUBLISH channel message

2 SUBSCRIBE:订阅频道

用户可以通过执行SUBSCRIBE命令,让客户端订阅给定的一个或多个频道:

        SUBSCRIBE channel [channel channel ...]

接收频道消息

与订阅消息一样,频道消息也是由3个元素组成的:

●消息的第1个元素为"message",用于表明该消息是一条频道消息而非订阅消息。

●消息的第2个元素为消息的来源频道,用于表明消息来自于哪个频道。

●消息的第3个元素为消息的正文,也就是消息的真正内容。

3 UNSUBSCRIBE:退订频道

用户在使用SUBSCRIBE命令订阅一个或多个频道之后,如果不想再收到某个频道的消息,那么可以使用UNSUBSCRIBE命令退订指定的频道:

UNSUBSCRIBE [channel channel ...]

4 PSUBSCRIBE:订阅模式

用户可以通过执行PSUBSCRIBE命令,让客户端订阅给定的一个或多个模式:

        PSUBSCRIBE pattern [pattern pattern ...]

传入PSUBSCRIBE命令的每个pattern参数都可以是一个全局风格的匹配符,比如"news.*"模式可以匹配所有以"news."为前缀的频道,而"news.[ie]t"模式则可以匹配"news.it"频道和"news.et"频道,诸如此类。

模式消息与之前展示的订阅消息以及频道消息稍微有些不同,它由4个元素组成:

●消息的第1个元素为"pmessage",它表示这是一条模式消息而不是订阅消息或者频道消息。

●消息的第2个元素为被匹配的模式,而第3个元素则是与模式相匹配的频道。

●消息的第4个元素为消息的正文,也就是消息的真正内容。

5 PUNSUBSCRIBE:退订模式

与退订频道的UNSUBSCRIBE命令类似,Redis也提供了用于退订模式的PUNSUBSCRIBE命令:

        PUNSUBSCRIBE [pattern pattern pattern ...]

6 PUBSUB:查看发布与订阅的相关信息

6.1 查看被订阅的频道

用户可以通过执行PUBSUB CHANNELS命令来列出目前被订阅的所有频道,如果给定了可选的pattern参数,那么命令只会列出与给定模式相匹配的频道:

PUBSUB CHANNELS [pattern]

6.2 查看频道的订阅者数量

用户可以通过执行PUBSUB NUMSUB命令,查看任意多个给定频道的订阅者数量:

        PUBSUB NUMSUB [channel channel ...]

6.3 查看被订阅模式的总数量

通过执行PUBSUB NUMPAT命令,用户可以看到目前被订阅模式的总数量:

PUBSUB NUMPAT

你可能感兴趣的:(Redis,redis,数据库,缓存)