我应该为什么使用它? 请提供一些非常基本的例子。
Redis客户端可以 订阅 特定标签(称作频道)下的消息。其他客户端则会向该频道发布 消息。当任何一个客户端向频道发布消息时,Redis都会通知每个订阅了该频道的客户端。
您也可以订阅频道模式,类似于正则表达式匹配。
这有助于使代码更具分布性。它允许代码的不同部分在不同的进程甚至不同的机器上运行,并通过这些队列相互通信。
新闻网站需要在每次发布新文章时更新首页的缓存副本。
后台缓存处理进程会订阅以“new.article.”开头的所有频道:
redis> PSUBSCRIBE new.article.*
文章发布过程会创建一个新的技术文章(在本例中,该文章ID为“1021”),将文章ID添加到所有技术文章的集合中,并将文章ID发布到“new.article.technology”频道:
此时,后台缓存工作进程将收到一条消息,并立即知道发布了一篇新的技术文章,随后执行适当的回调函数重新生成主页。 http://redis.io/topics/pubsubredis> 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