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);//釋放鎖
}