如何修复Redis使用zadd()时'int'对象无'items'属性的AttributeError错误
修复Redis zadd()方法的AttributeError错误
报错的核心原因是当前redis-py库版本的zadd()方法参数格式不符合要求:你传入的10, "new_player"是位置参数,但该版本的zadd()期望接收**字典(成员为键、分数为值)或关键字参数(成员=分数)**的格式,导致整数10被误当成了mapping对象,触发了AttributeError。
以下是两种可行的修复方式:
方式一:使用字典作为参数
import redis r = redis.StrictRedis(host="localhost", port=6379, db=0, charset="utf-8", decode_responses=True) r.zadd("players", {"new_player": 10})
方式二:使用关键字参数
import redis r = redis.StrictRedis(host="localhost", port=6379, db=0, charset="utf-8", decode_responses=True) r.zadd("players", new_player=10)
如果需要一次性添加多个有序集合成员,两种方式也同样适用:
- 字典批量添加:
r.zadd("players", {"player1": 5, "player2": 15, "player3": 20})
- 关键字参数批量添加:
r.zadd("players", player1=5, player2=15, player3=20)
内容的提问来源于stack exchange,提问作者Hüseyin Erdem ÜNAL
相关产品推荐
相关产品推荐

