Redis發布和訂閱功能 事務

2021-10-06 19:24:02 字數 1009 閱讀 3038

redis發布和訂閱:publish(向頻道傳送訊息) subscribe(訂閱頻道) psubscribe(關聯頻道)

unsubscribe()

事務:redis通過multi(事務開始)、exec(執行事務)、watch[樂觀鎖,監視任意數量資料庫鍵]等命令來實現事務(transaction)功能。

事務提供了一種將多個命令請求打包,然後一次性、按順序地執行多個命令的機制, 並且在事務執行期間,伺服器不會中斷事務而改去執行其他客戶端的命令請求,它 會將事務中的所有命令都執行完畢,然後才去處理其他客戶端的命令請求。

事務的實現:

1)事務開始

2)命令入隊(事務佇列) exp: set、get…

3)執行事務

watch命令:

若監視的鍵被修改 -> 執行改事務失敗nil

如何監視和維護事務安全性?

每個redis db儲存乙個watched_keys字典 = all監視的資料庫鍵 -> 值(鍊錶)客戶端

外鏈轉存失敗,源站可能有防盜在這裡插入!鏈機制,建描述

![在這裡插入描述]直https://接上傳(blog.csdnimg.cn/m0200603232929924.jpg?x-o2sksk8-process=image/watermark,type_zmfuz3ona**pdgk,shadow_10,text_ahr0chm6ly5ibg9nlmnzzg4ubmv0l3bhd3bzawnszq==,size_81,color_ffffff,t_70裡插入描述](

被修改則客戶端的redis_dirty_cas標識會開啟 -> 執行exec則根據標識 -> 是否執行事務/拒絕
事務的acid:

原子性:不支援事務回滾 -> 命令執行期間錯誤 則 事務的後續指令仍然執行

一致性:1)入隊錯誤(拒絕執行出錯指令)

2)執行錯誤 (出錯的命令事務不執行)

3)伺服器停機 (通過持久化可解決)

隔離性:redis是單執行緒,執行事務是序列化執行,並執行期間不會中斷

Redis 發布訂閱功能

在redis中發布訂閱功能是由publish subscribe unsubscribe psubscribe組成的。publish是發布,subscribe是訂閱,unsubscribe是取消訂閱,psubscribe是訂閱模式,所謂模式也就是可以對應多個頻道的 頻道 例如訂閱了 abc hell...

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

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

redis發布訂閱及事務

redis發布訂閱 例 訂閱者 redis 127.0.0.1 6379 subscribe redischat reading messages.press ctrl c to quit 1 subscribe 2 redischat 3 integer 1 發布者 redis 127.0.0.1...