天天看點

StackExchange.Redis筆記-分布式鎖

RedisValue token = Environment.MachineName;

//lock_key表示的是redis資料庫中該鎖的名稱,不可重複。

//token用來辨別誰擁有該鎖并用來釋放鎖。

//TimeSpan表示該鎖的有效時間。10秒後自動釋放,避免死鎖。

if (db.LockTake("lock_key", token, TimeSpan.FromSeconds(10)))

{

try

{

//TODO:開始做你需要的事情

Thread.Sleep(5000);

}

finally

db.LockRelease("lock_key", token);//釋放鎖

}

繼續閱讀