redis学习之——Redis事务(transactions)
Redis事務:可以一次執行多個命令,本質是一組命令的集合。一個事務中的,所有命令都會序列化,按順序地串行化執行而不會被其它命令插入,不許加塞。
常用命令:MULTI? 開啟事務? EXEC 提交事務、 DISCARD? 放棄事務? WATCH? 監控事務? UNWATCH?? 取消監控事務
case1:正常執行?????????????????????????????????????????????????? case2:放棄事務
?
case3:全體連坐???????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? case4:冤頭債主
?
?case5:watch監控
悲觀鎖 :
?悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數據的時候都認為別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關系型數據庫里邊就用到了很多這種鎖機制,比如行鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖.
樂觀鎖:
????? 樂觀鎖(Optimistic Lock), 顧名思義,就是很樂觀,每次去拿數據的時候都認為別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用版本號等機制。樂觀鎖適用于多讀的應用類型,這樣可以提高吞吐量,
樂觀鎖策略:提交版本必須大于記錄當前版本才能執行更新
exp: 你現有行用卡銀行賬戶有2000元,你要消費500。欠額500
?
exp: 你現有行用卡銀行賬戶有1000元,你要消費500。欠額0,就在此時,你媽你給匯錢打入1000元,且在你之前提交事務,你的事務將提交失敗。
?
?如何解決:使用 UNWATCH 放棄
?
轉載于:https://www.cnblogs.com/aGboke/p/6637611.html
總結
以上是生活随笔為你收集整理的redis学习之——Redis事务(transactions)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黄山太平索道上山攻略
- 下一篇: 求一个好听有气质的女孩名字。