gpt4 book ai didi

Python redis get 方法为不存在的键引发 AttributeError

转载 作者:可可西里 更新时间:2023-11-01 11:34:21 26 4
gpt4 key购买 nike

我有以下部分代码:

rd = redis.Redis(主机,端口,数据库,密码,socket_timeout,
连接池、字符集、错误、unix_socket_path)

check_flag = rd.get("some_key")
如果 check_flag 不是无:
do_something()

但是 Redis 的 get 方法引发了一个 AttributeError:AttributeError: 'str' 对象没有属性 'iteritems'

我不确定在这里分享回溯的全文是否可以。

我正在使用 redis 2.10.5

有人知道发生了什么事吗?

附言我正在通过 stackoverflow 寻找相同的问题,但没有成功

UPD:添加了完整的追溯

init_flag = self.redis.get("face_init")
文件“/usr/local/lib/python2.7/dist-packages/redis/client.py”,第 880 行,在 get
返回 self.execute_command('GET', 名称)
execute_command 中的文件“/usr/local/lib/python2.7/dist-packages/redis/client.py”,第 572 行
connection.send_command(*参数)
文件“/usr/local/lib/python2.7/dist-packages/redis/connection.py”,第 563 行,在 send_command
self.send_packed_command(self.pack_command(*args))
文件“/usr/local/lib/python2.7/dist-packages/redis/connection.py”,第 538 行,在 send_packed_command
self 连接()
文件“/usr/local/lib/python2.7/dist-packages/redis/connection.py”,第 439 行,在连接中
socks = self._connect()
文件“/usr/local/lib/python2.7/dist-packages/redis/connection.py”,第 475 行,在 _connect 中
对于 iteritems 中的 k,v(self.socket_keepalive_options):
文件“/usr/local/lib/python2.7/dist-packages/redis/_compat.py”,第 27 行,在 iteritems 中
返回 x.iteritems()
AttributeError: 'str' 对象没有属性 'iteritems'

最佳答案

看起来您可能在 redis-py 库中发现了一个错误。

我会首先尝试更新到最新版本的库,并尝试其他版本,看看您是否看到任何不同的行为。您应该能够从这里 checkout 它的任何给定版本,https://github.com/andymccurdy/redis-py , 然后使用列出的命令 here执行 checkout 代码的本地安装。

您可能还想在几种不同的网络条件下尝试。跟踪中的代码路径看起来与将数据包发送到 Redis 服务器有关,因此可能值得测试当您未连接到有效服务器地址时会发生什么。

您还可以运行 Redis Monitor来自 redis cli 的命令,以查看是否有任何内容正在发送到服务器。

如果这些额外的故障排除仍然没有发现任何明显的错误,我会在 Redis-py github 存储库上提出一个问题,看看他们是否可以帮助追踪潜在的问题。

关于Python redis get 方法为不存在的键引发 AttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com