Redis 发布订阅

Redis提供了简单的消息服务,支持publish/subscribe(发布/订阅)。Redis客户端可以订阅一个或多个频道(Channel),这种行为被称为subscribe。其他Redis客户端向这些Channel发送消息,称为publish,订阅这些频道的客户端能接收到这些消息。

publish/subscribe模式在Spring Boot中可以应用于事件通知,如配置文件更新、缓存更新等。也可以采用Redis的NoSQL特性作为数据缓存,也会使用Pub/Sub特性来发出缓存更新事件,从而让Spring Boot应用更新缓存。

Redis还提供了订阅指定模式(pattern),使用psubscribe命令

127.0.0.1:6379>psubscribe news.*

订阅所有以news开头的频道

支持的模式有:

模式 匹配说明
news.* 所有news.开头的频道
news-? 订阅news-1、new2-2频道
news[123] 订阅news-1、news-2、news-3频道

订阅一个news频道

127.0.0.1-6379:0>subscribe news
Switch to Pub/Sub mode. Close console tab to stop listen for messages.
1)  "subscribe"
2)  "news"
3)  "1"

1)  "message"
2)  "news"
3)  "hello"

1)  "message"
2)  "news"
3)  "world"

第一行是固定的字符串“subscribe”

第二行是订阅的频道名字

第三行是数字,表示该频道总共有多少个订阅者

发布消息: 

127.0.0.1-6379:0>publish news "hello"
"1"
127.0.0.1-6379:0>publish news "world"
"1"

publish命令可以向终端发送一条消息,并返回一个整数,表示有多少个订阅者收到此消息。

猜你喜欢

转载自my.oschina.net/u/3777515/blog/1787446