標籤:redis
1、優勢:松耦合 易於擴充 ,消費者可以擴充多個,分布在不同的伺服器中
2、LPUSH RPOP
3、BRPOP命令和RPOP相似,唯一區別:當列表中沒有元素時,BRPOP命令會一直阻塞住連結,知道有新元素加入
4、BRPOP key timeout timeout 等於0 表示不限制等待時間(單位是秒),如果沒有元素會一直阻塞下去。如:BRPOP list 0
5、BRPOP key 1 阻塞1秒,取出資料。返回值是一個數組,第一個元素是鍵名,第二個元素是 值value。如果沒有資料,返回nil 127.0.0.1:6379> BRPOP list 0
1) "list"
2) "13"
(11.46s)
127.0.0.1:6379> BRPOP list 2
(nil)
6、優先順序隊列 BLPOP queue:1 queue2:2 queue3:3 0 如果都有值,優先取出 queue2隊列的值
7、訂閱SUBCRIBE channel channelNo .處於訂閱狀態的用戶端只能使用四中命令:SUBSCRIBE/UNSUBSCRIBE/PSUBSCRIBE/PUNSUBSCRIBE Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel"
3) (integer) 1 可以同時訂閱多個訊息頻道
127.0.0.1:6379> SUBSCRIBE channel1 channel2 channel3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel1"
3) (integer) 1
1) "subscribe"
2) "channel2"
3) (integer) 2
1) "subscribe"
2) "channel3"
3) (integer) 3
8、發布訊息PUBLISH channel channelNo message .返回值表示收到此訊息的用戶端數量 也可以同時取消多個訊息頻道 127.0.0.1:6379> PUBLISH channel hello
(integer) 1
9、PSUBSCRIBE channel1.?* 訂閱指定規則的訊息。支援glob風格的萬用字元格式 如果A客訂閱了 psubscribe 1.1 和 psubscribe 1.?* 的訊息, 這時B用戶端向 channel1.1發布訊息,A用戶端會收到 2 條訊息。
10、PUNSUBSCRIBE * 無法退訂 channel.* 規則,而是必須使用PUNSUBSCRIBE channel.*退訂
11、管道 用戶端和Redis是使用TCP協議連結的。在向Redis發送命令和返回執行結果時,都需要經過網路傳輸。一去一反稱為往返延時。 如果要執行多個命令而不相互依賴返回值,可以使用管道技術。一次性向Redis發送多條命令,即把這組命令一起通過管道命令發出。管道可以減少用戶端與Redis的通訊次數,達到降低往返延遲的目的。 類似於批處理。
七、Redis 基礎命令---任務隊列