Redis提供了簡單的消息服務,支持publish/subscribe(發佈/訂閱)。Redis客戶端能夠訂閱一個或多個頻道(Channel),這種行爲被稱爲subscribe。其餘Redis客戶端向這些Channel發送消息,稱爲publish,訂閱這些頻道的客戶端能接收到這些消息。緩存
publish/subscribe模式在Spring Boot中能夠應用於事件通知,如配置文件更新、緩存更新等。也能夠採用Redis的NoSQL特性做爲數據緩存,也會使用Pub/Sub特性來發出緩存更新事件,從而讓Spring Boot應用更新緩存。spa
Redis還提供了訂閱指定模式(pattern),使用psubscribe命令code
127.0.0.1:6379>psubscribe news.*
訂閱全部以news開頭的頻道事件
支持的模式有:ci
模式 | 匹配說明 |
news.* | 全部news.開頭的頻道 |
news-? | 訂閱news-一、new2-2頻道 |
news[123] | 訂閱news-一、news-二、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」it
第二行是訂閱的頻道名字console
第三行是數字,表示該頻道總共有多少個訂閱者table
發佈消息: 配置
127.0.0.1-6379:0>publish news "hello" "1" 127.0.0.1-6379:0>publish news "world" "1"
publish命令能夠向終端發送一條消息,並返回一個整數,表示有多少個訂閱者收到此消息。