在窗口1開通一個名為 redis 的通道:
127.0.0.1:6379> SUBSCRIBE redis Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redis" 3) (integer) 1
從窗口2傳入信息:
127.0.0.1:6379> PUBLISH redis hi (integer) 1
此時窗口1會收到這條信息:
127.0.0.1:6379> SUBSCRIBE redis Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redis" 3) (integer) 1 1) "message" 2) "redis" 3) "hi"
以上, 就是通過 SUBSCRIBE 和 PUBLISH 實現了一個簡單的消息傳遞的過程. 目前我們是有一個窗口開通 redis 通道, 另一個窗口向這個通道傳遞消息, 大家可以試下再多開一個窗口, 也開通 redis 通道, 然后再向 redis 通道傳遞消息的時候, 會發現, 這兩個通道會同時接收到這條消息.
下面再另開也別窗口, 演示另外一個命令. 這里用命令 PSUBSCRIBE 開通一個通道, 通道名不是具體的, 而是有點像正則匹配, 即凡是向以字母 r 開頭的通道發送消息, 這個通道都可以接收:
127.0.0.1:6379> PSUBSCRIBE r* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "r*" 3) (integer) 1
這時, 在另外一個窗口執行:
127.0.0.1:6379> PUBLISH rr "hi" (integer) 1
這時, 在剛剛開通通道的窗口就可以接收到信息:
127.0.0.1:6379> PSUBSCRIBE r* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "r*" 3) (integer) 1 1) "pmessage" 2) "r*" 3) "rr" 4) "hi"
以上, 就是關於 SUBSCRIBE 和 PUBLISH 的基本原理.
這是關於 redis 學習的最后一篇, 每個命令我都有自己實踐, 雖然不能百分百記住, 但是對於五種數據類型, 有了非常清晰的了解, 希望也能對你有所幫助, enjoy~~~
