我为什么要用它?给出一些非常基本的例子.
redis客户端订阅接收标记有特定标记的消息,称为频道.其他客户发布到此频道.每次任何人向频道发布消息时,Redis都会通知每个订阅客户端.
您还可以订阅频道模式 - 考虑正则表达式匹配.
这有助于使代码可分发.它允许一些代码在不同的进程中运行,甚至可能在不同的机器上运行,并通过这些队列相互通信.
此功能来自重复的用户请求.这里给出了一个用例示例:
每当新文章发布时,与新闻相关的网站都需要更新其主页的缓存副本.
后台缓存工作进程订阅以'new.article.'开头的所有通道:
redis> PSUBSCRIBE new.article.*文章发布过程创建了一篇新技术文章(在本例中,本文的ID为'1021'),将文章的ID添加到所有技术文章的集合中,并将文章的ID发布到'new.article.technology'频道:
redis> MULTI OK redis> SET article.technology.1021 "In today's technology news, ..." QUEUED redis> SADD article.technology 1021 QUEUED redis> PUBLISH new.article.technology 1021 QUEUED redis> EXEC 1. OK 2. (integer) 1 3. (integer) 1此时,后台缓存工作进程将收到一条消息,并立即知道已发布新技术文章,随后执行适当的回调以重新生成主页.
http://redis.io/topics/pubsub