[英]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.