Python Redis管道返回空列表
我正在尝试使用PythonRedis客户端使redis管道调用redis服务器获取一些数据。此数据可能存在或不存在。即使数据不存在,根据我阅读和使用python redis client进行的实验,我也应该收到类似Python Redis管道返回空列表,python,redis,pipeline,Python,Redis,Pipeline,我正在尝试使用PythonRedis客户端使redis管道调用redis服务器获取一些数据。此数据可能存在或不存在。即使数据不存在,根据我阅读和使用python redis client进行的实验,我也应该收到类似[None,[None]]]的内容 然而,有时我会返回一个空列表,类似于[],这会在我试图解析返回的结果列表时导致以下代码出现异常(我丢失了!)。此外,当我在发现问题后手动重试相同的请求时,我无法重现相同的问题,reids服务器返回正确的数据或[None,[None]],这由me代码处
[None,[None]]]
的内容
然而,有时我会返回一个空列表,类似于[],这会在我试图解析返回的结果列表时导致以下代码出现异常(我丢失了!)。此外,当我在发现问题后手动重试相同的请求时,我无法重现相同的问题,reids服务器返回正确的数据或[None,[None]],这由me代码处理
redis服务器完全没有数据写入或数据更改,只读取我的代码
有没有人知道是什么导致了这一切?从逻辑上讲,这根本不应该发生
顺便说一下,我使用的是python redis客户端2.10.3
任何见解都会有帮助。谢谢~ 我想可能是你做了这样的事情:
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.