div*_*thi 5 python search redis
我想使用python将数据插入redis的排序集中,以执行诸如范围等的复杂查询。
import redis
redisClient = redis.StrictRedis(host='localhost', port=6379,db=0)
redisClient.zadd("players",1,"rishu")
Run Code Online (Sandbox Code Playgroud)
但是当我运行上面的代码时,我得到以下错误
AttributeError: 'str' object has no attribute 'items'
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么。使用此链接作为参考 https://pythontic.com/database/redis/sorted%20set%20-%20add%20and%20remove%20elements
Nel*_*era 15
@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
Run Code Online (Sandbox Code Playgroud)
新的签名是:
data = "hello world"
score = 1
redis.zadd("redis_key_name", {data: score})
Run Code Online (Sandbox Code Playgroud)
一次添加多个:
data1 = "foo"
score1 = 10
data2 = "bar"
score2 = 20
redis.zadd("redis_key_name", {data1: score1, data2: score2})
Run Code Online (Sandbox Code Playgroud)
而不是args / kwargs,应该是一个dict,以key作为数据,值是ZADD得分。取回数据没有任何变化。