gpt4 book ai didi

c# - 为什么错误没有连接可用于服务此操作 : SETEX while writing to Redis Cache in C# console application and how to solve it

转载 作者:行者123 更新时间:2023-12-03 06:45:58 27 4
gpt4 key购买 nike

我正在尝试将包含大约 5000 条记录的字典中的记录写入 Redis 缓存。但有时我会遇到以下异常,我不知道为什么会收到此错误,我已经在互联网上进行了检查,但找不到此问题的任何解决方案或根本原因。

using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(_configuration.GetConnectionString("redis_server")))
{
IDatabase db = redis.GetDatabase();


foreach (KeyValuePair<string, string> keyValuePair in _dictAllData)
{
db.StringSet(keyValuePair.Key, keyValuePair.Value, TimeSpan.FromMinutes(30));
}

}

异常

No connection is available to service this operation: SETEX 747712; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=4,Max=32767), Local-CPU: n/a

编辑:

StackExchange.Redis 版本:2.0.601

最佳答案

似乎您的池(客户端)中的连接用完了。此外,就性能而言,在这种情况下一次一组是不好的。

您应该使用批处理或流水线。参见 Pipelining vs Batching in Stackexchange.Redis .它有代码示例。

由于您似乎并不关心响应,请考虑 flags: CommandFlags.FireAndForget。参见 Pipelines and Multiplexers .

关于c# - 为什么错误没有连接可用于服务此操作 : SETEX while writing to Redis Cache in C# console application and how to solve it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59379960/

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