关于使用redis-py的zadd命令的参数(版本为v3.2.0)的相关信息
首先
在Python中调用内存型键值数据库Redis的方法之一是使用redis-py模块。
该模块提供了一个用于存储数据的命令,称为ZADD。
ZADD命令的参数已发生变化,旧的调用方式会引发错误,所以我们将共享新的调用方式。
版本
Redis的核心版本为5.0.3,而redis-py的预期版本为v3.2.0。
Redis 5.0.3 (00000000/0) 64 bit
tikeda:Redis tikeda$ pip show redis
Name: redis
Version: 3.2.0
Summary: Python client for Redis key-value store
Home-page: https://github.com/andymccurdy/redis-py
Author: Andy McCurdy
Author-email: sedrik@gmail.com
License: MIT
Location: /usr/local/var/pyenv/versions/3.7.0/lib/python3.7/site-packages
Requires:
Required-by:
ZADD的意思是什么?
这是一个用于存储数据的SortedSet类型的命令。
SortedSet类型是一种按顺序排列的集合类型。
每个数据都有一个称为score的值,并根据它进行排序。
请参考:http://redis.shibu.jp/commandreference/sortedsets.html
给出一个选项:激活方式
在以前的版本中,我们使用zadd(key, score, value)或zadd(key, value, score)这样的形式来执行命令。但从现在的版本开始,改成了以下形式。
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
dict = {}
dict['value'] = 10
r.zadd('aaa', dict)
print(r.zrangebyscore('aaa', '-inf', '+inf'))
我正在使用ZRANGEBYSCORE命令进行确认。
由於變成了詞典形式,所以也可以一次給予整體的value。
dict = {}
dict['value'] = 10
dict['has'] = 11
dict['to'] = 12
dict['be'] = 13
dict['set'] = 14
dict['here'] = 15
r.zadd('bbb', dict)
到此为止
redis-py从某个时候开始,ZADD命令的参数顺序(纬度和经度的顺序)发生了变化,给人一种深不可测而混乱的印象。