Redis訂閱和發布模式和Redis事務

2021-08-21 01:49:38 字數 2142 閱讀 2784

------------------- redis訂閱和發布模式-------------------

1,概念

redis發布訂閱發布/訂閱)是一種訊息通訊模式:

傳送者(酒館)傳送訊息,

訂閱者(子)接收訊息。

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

2,訂閱頻道:訂閱個指定頻道的資訊

3,發布頻道訊息:將資訊訊息傳送到指定的頻道頻道

4,應用場景

2,即使通訊系統

1,學生c

訂閱乙個主題叫:class:20170101

> subscribe class:20170101

2,學生a針對class:20170101主體傳送訊息,那麼所有訂閱該主題的使用者都能夠接收到該資料。

>出版類:20170101! 「世界你好我是」

3,學生乙針對等級:20170101主體傳送訊息,那麼所有訂閱該主題的使用者都能夠接收到該資料

>出版類:20170101「你好我是b「

展示學生c接受到的a \ b同學傳送過來的訊息資訊

1)」subscribe「

2)」class:20170101「

3)(integer)1

1)」message「

2)」class:20170101 「

3)」hello world!i am a「

1)」message「

2)」class:20170101「

3)」hello word!i am b「

------------------- redis事務-------------------

1,概念:

redis中的事務是一組命令的集合。事務同命令一樣都是redis的的最小執行單位,乙個事務中的命令要麼都執行,要麼都不執行。

2,事務的兩種屬性

1,事務是乙個單獨的隔離操作:事務中的所有命令都會序列化,按順序的執行事務在執行的過程中

,不會被其他客戶端傳送過來的命令請求所

打斷。2,redis事務是原子。原子意味著要什麼所有的命令都執行,要麼都不執行。

3,事務從開始到執行經歷的三個階段

1,開始事務:多

>多 - 確定

2,命令入隊

> set「strone」「hello」

>設定「strtwo」「world」

>設定「strthree」「!」

3,執行事務:exec

> exec

4,事務執行是常見錯誤:

1,語法錯誤:語法錯誤指令不存在或命令引數的個數不對

。2,執行錯誤:執行錯誤指令執行時出現的錯誤,比如使用雜湊型別的命令操作集合型別的鍵,這種錯誤在實際執行之前的redis是無法發現的,所以在事務裡這樣的命令是會被

redis的接受並執行的。如果事務裡的一條命令出現了執行錯誤

,事務裡其他的命令依然會繼續執行

> multi

> set key 1

> sadd key 2

> set key 3

> exec

1)ok

2)(錯誤)wrongtype針對儲存錯誤型別值的鍵的操作

3)ok

> get key --- 「3」

5,**命令:可以監控乙個或多個鍵,一旦其中乙個鍵被修改(或刪除),之後的事務就不會執行監控一直持續到

exec命令(事務中的命令是在exec之後才執行的,所以在多命令後可以修改watch監控的鍵值)

> set key 1 --- ok

> watch key --- ok

> set key 2 --- ok

> multi --- ok

> set key 3 --- queued

> exec ---(nil)

>獲得金鑰---「2」

def incr($ key):

watch $ key

$ value = get $ key

如果不是$ value:

$ value = 0

$ value = $ value + 1

multi

set $ key,$ value

resule = exec

return resule [0]

Redis 發布和訂閱

發布與訂閱 又稱pub sub 訂閱者 listener 負責訂閱頻道 channel 傳送者 publisher 負責向頻道傳送二進位制字串訊息 binary string message 每當有訊息被傳送給指定頻道的時候,頻道都所有訂閱者都會收到訊息。redis提供都5個發布訂閱命令 命令描述 ...

Redis 發布和訂閱

一 概述 1 發布和訂閱是一種訊息通訊模式。2 優點 使訊息訂閱者和訊息發布者耦合度降低,類似設計模式中的觀察者模式。二 發布和訂閱 訂閱命令 訂閱乙個或多個頻道 返回值 value 1 為 subcribe 表示訂閱成功,value 2 為訂閱的頻道名稱,value 3 表示當前訂閱的頻道個數 s...

Redis發布訂閱模式

publish subscribe 發布訂閱模式的原理 包含兩個角色,乙個是發布者,乙個是訂閱者 訂閱者可以訂閱乙個或者多個頻道channel 發布者可以向指定頻道發布資訊 通過publish發布訊息 publish channel message publish channel1.1 maizie...