日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

redis分布式锁-基本概念与实现方式对比

發布時間:2025/6/17 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis分布式锁-基本概念与实现方式对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、redis中使用WATCH實現鎖機制,是最次之的方式。WATCH只會在數據被其他客戶端搶先修改了的情況下,“通知”執行了這個命令的客戶端,而不會阻止其他客戶端對數據進行修改。此類鎖成為“樂觀鎖”

2、redis提供SETNX命令確實具有基本的加鎖功能,但他的功能并不完整,并且也不具備分布式鎖常見的一些高級特性。

3、自己構建分布式鎖。

4、鎖不正確運行的癥狀

  1、持有鎖的進程因為操作時間過長而導致鎖自動釋放,但進程本身并不知曉,甚至還可能會錯誤的釋放了其他進程持有的鎖。

  2、一個持有鎖并打算執行長時間操作的進程已經崩潰,但其他想要獲取鎖的進程并不知道哪個進程持有鎖,也無法檢測出持有鎖的進程是否崩潰,只能白白的浪費時間等待鎖被釋放

  3、在一個進程持有的鎖過期之后,其他多個進程同時嘗試去獲取鎖,并且都獲得了鎖。

  4、多個進程獲得了同一個鎖,而每個進程都以為自己是唯一獲得鎖的進程。

  因為Redis在最新的硬件上可以每秒執行100 000 個操作,甚至 225 000 個操作,所以盡管上面提到的問題出現的幾率只有萬分之一,但在高負載的情況下還是可能出現

5、判斷應該鎖住整個數據結構還是應該鎖住結構中一小部分,是一件非常簡單的事情,但是,需要鎖住一小部分數據不止一份的時候,有或者需要鎖住結構中的多個部分的時候,這種判斷就會更加困難。多個細粒度鎖也有引發死鎖的危險,導致程序無法運行。

轉載于:https://www.cnblogs.com/jiangtao1218/p/9349627.html

總結

以上是生活随笔為你收集整理的redis分布式锁-基本概念与实现方式对比的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。