天天看點

Redis學習筆記~分布鎖的使用

回到目錄

分布鎖主要用在多程序共同通路同一個資源時候,用來保持同一時間段隻能有一個程序執行,同時避免了并發沖突的出現,這在很多場景都會用到,像秒殺庫存,抽獎庫存,多操作者處理一家公司等。

void TestLock()
 {
  //代碼段鎖定,隻允許一下程序通路,逾時時間100秒,注意,它鎖的是key
  if (redisManager.Instance.GetDatabase().LockTake("redislockqueeu", "1", TimeSpan.FromMilliseconds(100)))
   {
     try
     {
       Console.WriteLine("正在處理……");
       Thread.Sleep(1000);
     }
     catch (Exception)
     {
      throw;
     }
     finally
     {
       //處理結束後釋放redis程序鎖,否則還要阻塞100毫秒
       redisManager.Instance.GetDatabase().LockRelease("PrizeKey", "prize");
     }
  }
  Console.WriteLine("redis正被其它程序使用");
 }      

你可以寫個并成的程式去測試一下,然後把它封裝一下,友善其它開發人員直接使用!

感謝閱讀!

作者:倉儲大叔,張占嶺,

榮譽:微軟MVP

QQ:853066980

支付寶掃一掃,為大叔打賞!

Redis學習筆記~分布鎖的使用