Redis 對事務部分支援和訂閱

2022-07-28 17:09:23 字數 1472 閱讀 6884

乙個佇列中,一次性,順序性,排他性的執行一系列命令

multi:標記乙個事務端的開始:返回ok,告訴知道了,開啟事務

exec:執行所有事務塊內的事務

discad:取消事務,放棄執行所有事務塊內的事務

watch|unwactn  key,key:監視乙個或多個key,如果在執行事務之前,key被其他命令改動,事務將被打斷 ---類似樂觀鎖

事務的一致性,連坐性

如果事務中,有乙個命令有錯誤,所有的命令都不能執行,在第一次檢測的時候報錯了

冤有頭債有主語法檢測通過之後,那條命令出錯了,那條命令不執行;但是其他命令可以執行

連坐性和命令的執行:語法檢測

開始:以multi開始乙個事務

入隊:將多個命令入隊到事務中,接到這些命令並不會立即執行,而是放到等待執行的事務佇列裡賣弄

執行:有exec命令觸發事務

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

沒有隔離操作的概念:佇列中的命令沒有提交之前都不會實際的被執行,因為事務提交前任何指令都不會被實際執行,也就不存在「事務內的查詢要看到事務內的更新,事務外的查詢不能看到」的問題

不保證原子性:redis同乙個事務中如果有一條命令執行失敗,其後的命令依舊會被執行,不會回滾

redis 發布訂閱(pub/sub)是一種訊息通訊模式

訂閱乙個或多個符合給定模式的頻道

pubsub subcommand [argument

檢視訂閱與發布系統狀態

publish channel message

將資訊傳送到指定的頻道

punsubscribe [pattern [pattern …]]

退訂所有給定模式的頻道

subscribe channel [channel …]

訂閱給定的乙個或多個頻道的資訊

unsubscribe [channel [channel …]]

指退訂給定的頻道

Redis(七) Redis的訂閱和事務

subscribe channel 訂閱頻道,例 subscribe mychat,訂閱mychat這個頻道 psubscribe channel 批量訂閱頻道,例 psubscribe s 訂閱以 s 開頭的頻道 publish channel content 在指定的頻道中發布訊息,如publi...

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

redis訂閱和發布模式 1,概念 redis發布訂閱發布 訂閱 是一種訊息通訊模式 傳送者 酒館 傳送訊息,訂閱者 子 接收訊息。redis的客戶端可以訂閱任意數量的頻道。2,訂閱頻道 訂閱個指定頻道的資訊 3,發布頻道訊息 將資訊訊息傳送到指定的頻道頻道 4,應用場景 2,即使通訊系統 1,學生...

詳談 Redis事務和訊息訂閱

可以一次執行多個命令,本質是一組命令的集合。乙個事務中的 所有命令都會序列化,按順序地序列化執行而不會被其它命令插入,不許加塞。事務能做的事 乙個佇列中,一次性 順序性 排他性的執行一系列命令 常用命令 下面的演示說明 redis是部分支援事務的。不保證原子性。首先介紹了樂觀鎖和悲觀鎖 watch監...