PSUBSCRIBE pattern [pattern ...]
Listen for messages published to channels matching the given patterns
PSUBSCRIBE命令用于向一个或多个频道(使用模式匹配)订阅消息。一旦订阅成功,客户端将开始接收发布到这些频道中的消息。
语法:
PSUBSCRIBE pattern [pattern ...]
其中,pattern表示要订阅的频道的模式,可以使用通配符和?。例如,news.将匹配所有以news.开头的频道,news.?将匹配所有以news.开头并且名字长度为4的频道。
以下是使用PSUBSCRIBE命令订阅频道的示例:
在终端1中使用redis-cli订阅一个频道模式:
redis> PSUBSCRIBE news.*
Reading messages... (press Ctrl-C to quit)
在终端2中使用redis-cli发布一个消息到匹配的频道中:
redis> PUBLISH news.article "New article published"
(integer) 1
回到终端1,可以看到已经接收到了发布的消息:
1) "pmessage"
2) "news.article"
3) "New article published"
在这个例子中,首先在终端1中使用PSUBSCRIBE命令订阅所有以news.开头的频道。在终端2中使用PUBLISH命令向频道news.article发布一条消息,终端1中的客户端会自动接收到这条消息并输出。注意,PSUBSCRIBE命令是阻塞的,客户端将一直等待发布的消息,直到使用Ctrl-C中断程序。