Redlock.net 无法获取锁
Redlock.net can't aquire lock
使用:
StackExchange.Redis v1.1.608.0
RedLock.net v1.7.4.0
此代码在 250-600 毫秒后总是 returns false:
var eps = new [] { new DnsEndPoint("localhost", 6379) };
var lf = new RedisLockFactory(eps);
var resource = "the-thing-we-are-locking-on";
var expiry = TimeSpan.FromSeconds(30);
using (var redisLock = lf.Create(resource, expiry))
{
Response.Write("Lock acquired: " + redisLock.IsAcquired);
}
我正在努力找出原因,因为我可以使用 StackExchange.Redis
连接字符串 localhost,allowAdmin=true
.
在 Redis 中缓存内容
在 Redis
控制台中,我可以看到客户端正在连接,但仅此而已。
我已经为端口 6379 添加了防火墙规则,但没有任何改变。
关于我的锁永远无法获得的任何想法?
找到问题的原因。我正在使用 MSOpenTech Redis 服务器 v3.2.100:
https://github.com/MSOpenTech/redis/releases
回滚到 v3.0.500 似乎可以解决此问题。不太理想,但目前在测试环境中应该可以。
使用:
StackExchange.Redis v1.1.608.0
RedLock.net v1.7.4.0
此代码在 250-600 毫秒后总是 returns false:
var eps = new [] { new DnsEndPoint("localhost", 6379) };
var lf = new RedisLockFactory(eps);
var resource = "the-thing-we-are-locking-on";
var expiry = TimeSpan.FromSeconds(30);
using (var redisLock = lf.Create(resource, expiry))
{
Response.Write("Lock acquired: " + redisLock.IsAcquired);
}
我正在努力找出原因,因为我可以使用 StackExchange.Redis
连接字符串 localhost,allowAdmin=true
.
在 Redis
控制台中,我可以看到客户端正在连接,但仅此而已。
我已经为端口 6379 添加了防火墙规则,但没有任何改变。
关于我的锁永远无法获得的任何想法?
找到问题的原因。我正在使用 MSOpenTech Redis 服务器 v3.2.100: https://github.com/MSOpenTech/redis/releases
回滚到 v3.0.500 似乎可以解决此问题。不太理想,但目前在测试环境中应该可以。