日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/6/17 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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分布式锁-基本概念与实现方式对比的全部內容,希望文章能夠幫你解決所遇到的問題。

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