Redis管道返回空列表

时间:2015-09-28 17:19:20

标签: python redis pipeline

我正在尝试使用python redis客户端来使redis管道为一些数据调用redis服务器。该数据可能存在与否。即使数据不存在,我也应该根据我已阅读并使用python redis客户端进行实验来获得类似[None, [None]]的内容。

然而,有时候我会得到一个空列表,比如[],当我尝试解析返回的结果列表时会导致跟随(我失败!)代码中的异常。此外,当我在发现问题后手动重试相同的请求时,我无法重现相同的问题,reids服务器返回正确的数据或[无,[无]],由我代码处理。

根本没有写入数据或数据更改到redis服务器,只能在我的代码中读取。

有没有人知道导致这种情况的原因?从逻辑上讲,这根本不会发生。

顺便说一句,我使用的是python redis client 2.10.3

任何见解都会有所帮助。感谢〜!

1 个答案:

答案 0 :(得分:0)

我认为你可能做过这样的事情:

pipe.watch(...)
...
pipe.execute()

不调用pipe.multi()

   # after WATCHing, the pipeline is put into immediate execution
   # mode until we tell it to start buffering commands again.

请参阅redis-py