我正在尝试将批量保存到redis列表中。它适用于一批一个,但对于两个,我得到一个例外,说我的参数数量无效。这是我的代码:
List<RedisValue> toWrite = new List<RedisValue>(batchSize);
UserRequest r;
while (toWrite.Count < batchSize && _saveQueque.TryDequeue(out r))
{
toWrite.Add(Serialize(r));
}
if (toWrite.Count > 0)
{
GetDB().ListRightPush(key, toWrite.ToArray()); //Throws exception
GetDB().KeyExpire(key, DateTime.Now.AddHours(4), CommandFlags.FireAndForget);
}
我在这里做错了什么?
它可能是我的序列化方案中的空终止符吗?
答案 0 :(得分:1)
听起来你正在使用旧版本的redis;在redis的v2.4中添加了rpush
的多值(varadic)版本 - 您至少需要 才能使用此API。