Python 不同版本redis 库 zadd之坑

Python 不同版本redis 库 zadd之坑

import redis
r= redis.Redis(host= XXX,port= XXX,db = X)
score = 1

Python 3.7.3 redis2.10.6 之zadd

zadd 命令 3.0以上的redis 版本库 在Python中是zadd(self,name,mapping,nx,xx,ch,incr)
在这里插入图片描述
代码提示输入代码,value 和 score 以键值对的方式放到map中

第一次输入:

r.zadd(key,{add_val:score})

报错:

File “/local/lib/python3.7/site-packages/redis/client.py”, line 2315, in zadd
raise RedisError("ZADD requires an equal number of "
redis.exceptions.RedisError: ZADD requires an equal number of values and scores

看来以map的形式输入,在该版本下是不支持的

第二次输入

r.zadd(key,scroe,add_val)

报错:

File “/local/lib/python3.7/site-packages/redis/connection.py”, line 629, in read_response
raise response
redis.exceptions.ResponseError: value is not a valid float

看来score 和 value 的位置放错了

第三次输入

r.zadd(key,add_val,scroe)

执行成功

总结:Python中,redis 3.0 差不多为分界线,版本间的redis 命令实现不一样


版权声明:本文为weixin_44342166原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。