我有一些代码循环遍历更新列表以应用于许多Redis哈希,这在大多数情况下效果很好。问题是,我偶尔会遇到如下错误:
ServiceStack.Redis.RedisResponseException:未知命令 '1234:日期:20130909:每日',sPort:34527,LastCommand:at ServiceStack.Redis.RedisNativeClient.CreateResponseError (System.String错误)[0x00000] in:0 at ServiceStack.Redis.RedisNativeClient.ExpectWord(System.String word) [0x00000] in:0 at ServiceStack.Redis.RedisNativeClient.ExpectQueued()[0x00000] in :0点 ServiceStack.Redis.Pipeline.QueuedRedisOperation.ProcessResult() [0x00000] in:0
我不确定这是否真的是Redis方面或客户端/驱动程序上的故障,但是在请求/响应中肯定会出现问题。
这是我正在尝试做的一些示例代码:
using (var redisClient = redisClientManager.GetClient())
{
using (var multi = redisClient.CreateTransaction())
{
foreach (var originalHashValue in hashDictionary)
{
multi.QueueCommand(
r => r.IncrementValueInHash(hash, originalHashValue.Key, originalHashValue.Value));
}
var redisUpdateResult = multi.Commit();
}
}
代码非常简单,结果不一致,所以我不确定该怎么想。
我正在使用最新的稳定redis,通过GigE LAN连接。
思想?