当我触发redis-py的bgsave()命令时,返回值为False,但是我非常确定执行成功,因为我已经使用lastsave()进行了检查。

但是,如果我使用save(),成功执行后的返回值将是True

谁能解释False代表bgsave()吗?不确定是否与在后台执行的bgsave()有任何关系。

最佳答案

感谢Pavel Anossov,在阅读client.py的代码之后,我发现来自2个命令(BGSAVE和BGREWRITEAOF)的响应没有从字节转换为str,这在Python 3中引起了问题。

要解决此问题,只需将lambda r: r ==中的这两个命令的lambda r: nativestr(r) ==更改为RESPONSE_CALLBACKS即可。

关于python - 为什么成功执行后redis-py的bgsave()命令返回False?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14417846/

10-12 23:16