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正被其它進程使用");
 }

你可以寫個並成的程序去測試一下,然后把它封裝一下,方便其它開發人員直接使用!

感謝閱讀!

回到目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM