gpt4 book ai didi

redis - 使用 StackExchange.Redis 连接到 redis 失败后事务不工作

转载 作者:可可西里 更新时间:2023-11-01 10:59:43 25 4
gpt4 key购买 nike

我不确定,这是错误还是我做错了什么。这是代码:

        using StackExchange.Redis;

ConnectionMultiplexer conn = null;
while (conn == null);
{
try
{
conn = ConnectionMultiplexer.Connect("localhost:6379");
}
catch (Exception)
{
conn = null;
Thread.Sleep(TimeSpan.FromSeconds(5));
}
}

var db = conn.GetDatabase();
var transaction = db.CreateTransaction();

var tasks = new List<Task>();
tasks.Add(transaction.HashSetAsync("key", "field", "value"));
if (transaction.Execute())
{
Task.WaitAll(tasks.ToArray());
}

当我使用启动的 redis(Windows 版本 - 2.6、2.8.17、2.8.19)运行它时,一切正常。如果我在循环的几个循环后启动 redis,它要么不跳入 if 语句,要么跳入并在 WaitAll() 上被阻塞。如果我尝试检查 redis 中的值,它们会被存储。

这种情况发生在我们启动server忘记启动redis的时候。推迟启动 redis 后,它会卡住。使用批处理而不是事务时会出现同样的问题。

我连接到多路复用器是错误的还是错误? (我发现很少有看起来相似但我不确定)

最佳答案

这是旧版本 StackExchange.Redis 中的错误 - 1.0.481、1.0.488(未测试任何旧版本)。对于新版本 1.1.553,它工作正常(https://github.com/StackExchange/StackExchange.Redis/issues/200)。

关于redis - 使用 StackExchange.Redis 连接到 redis 失败后事务不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29851293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com