Redis高階 之 事務

2021-10-09 11:30:48 字數 1591 閱讀 7402

redis事務就是乙個命令執行的佇列, 將一系列預定義命令包裝成乙個整體(乙個佇列). 當執行時, 一次性按照新增順序依次執行, 中間不會被打斷或者干擾.

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

1.事務的基本操作(定義, 執行, 取消)

multi
exec
注意: 加入事務的命令暫時進入到任務佇列中, 並沒有立即執行, 只有執行exec命令才開始執行

discard
2.事務的工作流程

3.事務的注意事項

業務分析

解決方案

watch key1 [key2...

]

unwatch
redis應用tips18 :

redis應用基於狀態控制的批量任務執行

業務分析

解決方案

setnx lock-key value
利用setnx命令的返回值特徵, 有值則返回設定失敗, 無值則返回設定成功

操作完成通過del操作釋放鎖

注意: 上述解決方案是一種設計概念,依賴規範保障, 具有風險性

redis應用 tips 19 :

redis應用基於分布式鎖對應的場景控制

業務分析

解決方案

expire lock-key second 

pexpire lock-key milliseconds

由於操作通常都是微秒或者毫秒級, 因此該鎖定時間不宜設定過大. 具體時間需要業務測試後確認.

redis高階之事務

事務簡介 超市的收銀員在盤賬,一天下來收了一些零錢,然後乙個乙個數,在數的過程中來了乙個兒童,這個兒童唱了一首歌 門前大橋下游過一群鴨,快來快來數一數二十六七八。然後這個收銀員一臉難色地把數好的錢又放了回去。這裡收銀員在做連續的動作 數錢 時被打斷了,或者被影響到了,那麼數錢的結果肯定是不正確的。怎...

Redis之事務案例

一次執行多個命令,本質是一組命令的集合。乙個事務中的所有命令都會序列化,按順序地序列化執行而不會被其它命令插入,不許加塞。乙個佇列中,一次性 順序性 排他性的執行一系列命令。單獨的隔離操作 事務中的所有命令都會序列化 按順序地執行。事務在執行的過程中,不會被其他客戶端傳送來的命令請求所打斷 沒有隔離...

Redis學習之事務九

1.可以一次執行多個命令,本質就是一組命令的集合。乙個事務中的所有命令都會序列化,按順序地序列化執行而不會被其他命令插入,不許加塞。開啟事務執行 multi執行事務完成佇列中命令的執行 exec什麼是樂觀鎖?樂觀鎖 每次去那資料的時候都認為別人不會修改資料,所以不會上鎖,但是在更新的時候會去判斷一下...