【问题标题】:Redlock.net can't aquire lockRedlock.net 无法获取锁
【发布时间】:2016-12-17 19:29:14
【问题描述】:

使用:

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.Redis 连接字符串 localhost,allowAdmin=true 在 Redis 中缓存内容。

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

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

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

【问题讨论】:

  • 我面临同样的问题,降级 Redis 的服务器不是我的选择...

标签: redis stackexchange.redis redlock.net


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-01-20
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2017-04-29
    相关资源
    最近更新 更多