我正在尝试批量保存到 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);
}
我在这里做错了什么?
会不会是我的序列化方案中的空终止符?
最佳答案
听起来您使用的是旧版本的 redis; rpush
的多值(varadic)版本已添加到 redis v2.4 中 - 您至少需要该版本才能使用此 API。
关于c# - Stackexchange.Redis ListRightPush "Invalid number of arguments",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48813722/