[英]Unable to connect AWS Redis cache in .net C# - RedisConnectionException: 'No connection is active/available to service this operation
[英]Why error No connection is available to service this operation: SETEX while writing to Redis Cache in C# console application and how to solve it
我正在尝试将包含大约 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));
}
}
例外
没有连接可用于服务此操作: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
似乎您的池中的连接用完了(客户端)。 此外,在性能方面,在这种情况下一次一组是不好的。
您应该使用批处理或流水线。 请参阅Stackexchange.Redis 中的流水线与批处理。 它有代码示例。
由于您似乎并不关心响应,请考虑使用flags: CommandFlags.FireAndForget
。 请参阅管道和多路复用器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.