StackExchange.Redisノート-分散ロック

570 ワード

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