Redis-消費模式


一 . 兩種模式簡介

  • 發布消息通常有兩種模式:隊列模式(queuing)和發布訂閱模式(qublish-subscribe)。隊列模式中,consumers可以同時從服務端讀取消息,每個消息紙杯其中一個consumer讀到
  • 發布-訂閱模式中消息被廣播到所有的consumer中,topic中的消息將被分發到組中的一個成員中,同一組中的consumer可以在不同的程序中,也可以在不同的機器上。

1.1.1 生產消費模式(隊列模式),(案例生產包子,消費者消費先消費最新生產的)

 1 127.0.0.1:6379> lpush bao bao1
 2 (integer) 1
 3 127.0.0.1:6379> lpush bao bao2
 4 (integer) 2
 5 127.0.0.1:6379> lpush bao bao3
 6 (integer) 3
 7 127.0.0.1:6379> lrange bao 0 10
 8 1) "bao3"
 9 2) "bao2"
10 3) "bao1"
11 127.0.0.1:6379> lpush bao bao4
12 (integer) 4
13 127.0.0.1:6379> lpush bao bao6
14 (integer) 5
15 127.0.0.1:6379> rpop bao
16 "bao1"
17 127.0.0.1:6379> rpop bao
18 "bao2"
19 127.0.0.1:6379> rpop bao
20 "bao3"
21 127.0.0.1:6379> lrange bao 0 10
22 1) "bao6"
23 2) "bao4"
24 127.0.0.1:6379> lpush bao bao7
25 (integer) 3
26 127.0.0.1:6379> lpush bao bao8
27 (integer) 4
View Code

1.1.2 發布訂閱模式

    Redis發布訂閱(Pub/Sub)是一種消息通信模式:發送者(pub)發送消息,訂閱者(sub)接受消息

    Redis 客戶端可以訂閱任意數量的頻道

subscribe dd1 訂閱給定的一個或者多個頻道的信息                                        
publish dd1 "haha af fadg gdsg" 將消息發送到指定的頻道

pubsub numsub dd1

打印頻道訂閱者數量
pubsub channels 顯示訂閱頻道
punsubscribe 退訂多個頻道
unsubscribe 退訂頻道

1.1.3 Redis 事務

  事務是一個單獨的隔離操作:事務中的所有命令都會序列化,按照序列的執行。事務在執行過程中,不會被其他的客戶端發送來的命令請求所打斷

  原子性:事務中的命令要么全部執行,要么全部不執行

執行過程

  • 開始事務
  • 命令入隊
  • 執行事務
siscare 取消事務,放棄執行事務模塊內的所有命令
exec 執行所有事務塊內的命令
multi 標記一個事務塊的開始
unwatch 取消watch命令對所有key的監視
watch key key 監視一個或多個key,如果事務執行之前這個(或這些)key被其他命令所改動,那么事務將被打斷


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM