簡介 發佈者和訂閱者都是Redis客戶端。發佈者可以發消息到任意多個頻道上,訂閱者可以訂閱任意多個頻道。 訂閱命令 subscribe channel [channel ...]:返回的數字 1 , 2 表示訂閱的第n個頻道,頻道返回的消息類型是message psubscribe channel ...
簡介
發佈者和訂閱者都是Redis客戶端。發佈者可以發消息到任意多個頻道上,訂閱者可以訂閱任意多個頻道。
訂閱命令
subscribe channel [channel ...]:返回的數字 1 , 2 表示訂閱的第n個頻道,頻道返回的消息類型是message
127.0.0.1:6379> subscribe education health Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "education" 3) (integer) 1 1) "subscribe" 2) "health" 3) (integer) 2
psubscribe channel [channel ...] :p—pattern,模式匹配,相當正則。假如有頻道 news.it 、news.beauty 、newsPE , health 、那隻有前兩個符合正則news.*,那麼前兩個頻道的消息,訂閱者都能接受。頻道返回的消息類型是pmessage
127.0.0.1:6379> subscribe news.* Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "news.*" 3) (integer) 1
unsubscribe [channel [channel ...]] : 取消通過subscribe訂閱的頻道 ,如果不加傳入頻道參數,客戶端使用 SUBSCRIBE 命令訂閱的所有頻道都會被退訂
punsubscribe [channel [channel ...]] :取消通過psubscribe訂閱的頻道 ,如果不加傳入頻道參數,客戶端使用 PSUBSCRIBE 命令訂閱的所有頻道都會被退訂
redis一旦接受了一條訂閱命令之後,就不能再接受下一條命令,訂閱命令就是阻塞式的。只有強行退出Ctrl+C,重啟客戶端,才能輸入別的命令。
發佈命令
publish channel message :返回的整數表示接收到該消息的客戶端總數。
C:\Users\user>redis-cli 127.0.0.1:6379> publish new.love "love forever" (integer) 0 127.0.0.1:6379> publish new.* "hehe" (integer) 0 127.0.0.1:6379> publish foo "food" (integer) 1 127.0.0.1:6379> publish foo "food1" (integer) 3 127.0.0.1:6379> publish foo "bibi" (integer) 3 127.0.0.1:6379> publish foo "hiie" (integer) 2 127.0.0.1:6379> publish foo "oooo" (integer) 1 127.0.0.1:6379> publish aaaBB "shenjingbing" (integer) 1