redis有序集合报错 ERR value is not a valid float
最近在写崔大神的代理池模块,看着挺简单的,单个看基本都会,组合起来,看不懂。。。。。
写完之后运行下吧,运行到
....
# 查询redis库中 有序集合 REDIS_KEY 中是否包含proxy
if not self.db.zscore(REDIS_KEY, proxy):
# print('加入')
return self.db.zadd(REDIS_KEY, score, proxy) # Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。
ERR value is not a valid float
在源码中打了无数的断点看看错在哪了。。。
在网上查了很多文章。。。
有的说 数据库版本问题: 修改为 return self.db.zadd(REDIS_KEY, {proxy:score})
这次换了个报错:
pieces = []
if args:
if len(args) % 2 != 0:
raise RedisError("ZADD requires an equal number of "
"values and scores")
晕。。。
结果是:
# 查询redis库中 有序集合 REDIS_KEY 中是否包含proxy
if not self.db.zscore(REDIS_KEY, proxy):
# todo 先写 proxy, 再写分值 score
return self.db.zadd(REDIS_KEY, proxy, score) # Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。
运行成功
仅限参考