Stackexchange.Redis ListRightPush "Invalid number of arguments"

Stackexchange.Redis ListRightPush "Invalid number of arguments"

我正在尝试批量保存到 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; multi-value (varadic) 版本的 rpush 已添加到 redis v2.4 中 - 您需要 至少该版本 才能使用此 API.