1

使用:

StackExchange.Redis v1.1.608.0
RedLock.net v1.7.4.0

此代码在 250-600 毫秒后总是返回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.Redisconnection string在 Redis 中缓存内容localhost,allowAdmin=true

Redis控制台中,我可以看到正在连接一个客户端,但仅此而已。

我为端口 6379 添加了防火墙规则,但没有任何改变。

永远无法获得关于我的锁的任何想法?

4

1 回答 1

0

找到了问题的原因。我正在使用 MSOpenTech Redis 服务器 v3.2.100: https ://github.com/MSOpenTech/redis/releases

回滚到 v3.0.500 似乎可以解决问题。不理想,但在测试环境中现在应该可以了。

于 2016-12-18T16:32:11.947 回答