Redis 消費模式

2022-08-05 01:57:18 字數 1626 閱讀 4397

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

1

127.0.0.1:6379>lpush bao bao1

2 (integer) 1

3127.0.0.1:6379>lpush bao bao2

4 (integer) 2

5127.0.0.1:6379>lpush bao bao3

6 (integer) 3

7127.0.0.1:6379> lrange bao 0108

1) "

bao3"9

2) "

bao2"10

3) "

bao1"11

127.0.0.1:6379>lpush bao bao4

12 (integer) 4

13127.0.0.1:6379>lpush bao bao6

14 (integer) 5

15127.0.0.1:6379>rpop bao16"

bao1"17

127.0.0.1:6379>rpop bao18"

bao2"19

127.0.0.1:6379>rpop bao20"

bao3"21

127.0.0.1:6379> lrange bao 0

1022

1) "

bao6"23

2) "

bao4"24

127.0.0.1:6379>lpush bao bao7

25 (integer) 3

26127.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被其他命令所改動,那麼事務將被打斷

redis佇列 生產消費模式 簡單實現

生產消費,不外乎就是生產新的訊息插入到佇列尾巴,消費者從佇列頭部取訊息。基於此,簡單實現如下 還有一種稍微複雜的實現,是結合了spring的實現,複雜實現 往列表尾部插入資料 param key param value public static void rpush string key,stri...

生產消費模式

package com.phone.week5.day3 有乙個倉庫放字元的,它有乙個生產字元的方法,也有乙個拿字元的方法 倉庫裡只能有乙個字元 有乙個生產者,可以呼叫倉庫裡生產字元的方法 有乙個消費者,可以呼叫倉庫裡拿字元的方法 兩個人不能同時生產或拿 1.建立乙個共享資源類 2.建立生產者 3....

生產消費模式

生產者producer 生產某個物件 共享資源 放在緩衝池中,然後消費者從緩衝池中取出這個物件。也就是生產者生產乙個,消費者取出乙個。這樣進行迴圈。生產者 class producer implements runnable override public void run catch interr...