public bool AcquireLock(string key, int timeout) { var locker = GetLocker(key); lockTaken = System.Threading.Monitor.TryEnter(locker, timeout); //进程锁获取失败 if (!lockTaken) { return(false); } try { redisClient = RedisClientProvider.CreateRedisClient(connName); redisLocker = new InnerRedisLock(redisClient, key, TimeSpan.FromMilliseconds(timeout)); return(true); } catch (Exception ex) { System.Threading.Monitor.Exit(locker); if (redisLocker != null) { redisLocker.Dispose(); } } return(false); }
IRedisClient CreateRedisClient() { return(RedisClientProvider.CreateRedisClient(connName)); }
IRedisClient CreateRedisClient() { return(RedisClientProvider.CreateRedisClient("redisconn")); }