我正在尝试使用python redis客户端来使redis管道为一些数据调用redis服务器。该数据可能存在与否。即使数据不存在,我也应该根据我已阅读并使用python redis客户端进行实验来获得类似[None, [None]]
的内容。
然而,有时候我会得到一个空列表,比如[],当我尝试解析返回的结果列表时会导致跟随(我失败!)代码中的异常。此外,当我在发现问题后手动重试相同的请求时,我无法重现相同的问题,reids服务器返回正确的数据或[无,[无]],由我代码处理。
根本没有写入数据或数据更改到redis服务器,只能在我的代码中读取。
有没有人知道导致这种情况的原因?从逻辑上讲,这根本不会发生。
顺便说一句,我使用的是python redis client 2.10.3
任何见解都会有所帮助。感谢〜!
答案 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