我想使用python将数据插入redis的排序集中,以执行诸如范围等的复杂查询。
import redis
redisClient = redis.StrictRedis(host='localhost', port=6379,db=0)
redisClient.zadd("players",1,"rishu")
但是当我运行上面的代码时,我得到以下错误
AttributeError: 'str' object has no attribute 'items'
我在这里做错了什么。使用此链接作为引用
https://pythontic.com/database/redis/sorted%20set%20-%20add%20and%20remove%20elements
最佳答案
@TheDude快要关闭了。
来自(redis-py 3.0)的较新版本的redis,方法签名已更改。
除了ZADD,MSET和MSETNX签名也已更改。
旧的签名是:
data = "hello world"
score = 1
redis.zadd("redis_key_name", data, score) # not used in redis-py > 3.0
新的签名是:
data = "hello world"
score = 1
redis.zadd("redis_key_name", {data: score})
一次添加多个:
data1 = "foo"
score1 = 10
data2 = "bar"
score2 = 20
redis.zadd("redis_key_name", {data1: score1, data2: score2})
而不是args / kwargs,应该是一个dict,以key作为数据,值是ZADD得分。
取回数据没有任何变化。