Redis有三個最基本屬性來保證分佈式鎖的有效實現:git
使用StackExchange.Redis 實現起來簡單得很github
static void Lock() { Console.WriteLine("Start.........."); var db = _redis.GetDatabase(); RedisValue token = Environment.MachineName; //實際項目秒殺此處可換成商品ID if (db.LockTake("test", token, TimeSpan.FromSeconds(10))) { try { Console.WriteLine("Working.........."); Thread.Sleep(5000); } finally { db.LockRelease("test", token); } } Console.WriteLine("Over.........."); }
最後附上GitHub地址:https://github.com/xiaopotian1990/RedisDemoredis