保證讀取每個變量都是安全的,互斥鎖能夠保證同一時間有且隻有一個goroutine進入臨界區,其他的goroutine則在等待鎖;
1.通過setnx指令設定key,不存在設定它的值,否則什麼也不做
2.用戶端1申請加鎖,加鎖成功,用戶端1加鎖設定一般是自已的線程id,或者uuid,用戶端1設定的鎖用戶端2不能打開,用戶端 2 申請加鎖,因為後到達,加鎖失敗
3.申請鎖時,給這把鎖設定一個「租期」不然會造成死鎖
4.也可以通過lua腳本實作解鎖
保證讀取每個變量都是安全的,互斥鎖能夠保證同一時間有且隻有一個goroutine進入臨界區,其他的goroutine則在等待鎖;
1.通過setnx指令設定key,不存在設定它的值,否則什麼也不做
2.用戶端1申請加鎖,加鎖成功,用戶端1加鎖設定一般是自已的線程id,或者uuid,用戶端1設定的鎖用戶端2不能打開,用戶端 2 申請加鎖,因為後到達,加鎖失敗
3.申請鎖時,給這把鎖設定一個「租期」不然會造成死鎖
4.也可以通過lua腳本實作解鎖