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.
我正在尝试批量保存到 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.