Python client for Redis key-value store
redis针对python的客户端,
github地址:https://github.com/andymccurdy/redis-py/
安装:
虽然称redis的python客户端称为redis-py,实际安装时的名字是redis.
redis-py运行需要先安装和运行起来redis-server的,具体看点击这个网站查看详细信息http://redis.io/topics/quickstart
几种安装方式:
pip安装
$ sudo pip install redis
easy_install安装
$ sudo easy_install redis
源码安装,先去https://pypi.python.org/pypi/redis这里下载安装包,进入setup.py的目录执行下面命令
$ sudo python setup.py install
NOTE:
不建议Windows平台使用redis的
快速入门:
>>> import redis
>>> r = redis.StrictRedis(host='localhost', port=6379, db=0)
>>> r.set('foo', 'bar')
True
>>> r.get('foo')'bar'
API接口:
官方redis 命令文档非常伟大为我们做个每个命令的详细解释,你可以去redis官网查看。
redis-py 模块通过两个类(StrictRedis,Redis)来遵循官方的所有标准命令,不过下面的命令除外:
—-SELECT:未实现,你会在下面的线程安全章节看到关于这个的解释
—-DEL:del 在python中是关键字,所以在redis-py中用delete来代替
—-CONFIG GET|SET:分别用config_get 和 config_set来代替
—-MULTI/EXEC:事物命令是作为Pipeline类的一部分来实现的,Pipeline类是对事物命令的包装,你也可以通过参数transaction=False来控制事物的使用。在下面的 管道(Pipeline)部分有更详细的解释。
—-SUBSCRIBE/LISTEN:类似于管道,发布定阅在class PubSub类中实现,从Redis客户端调用pubsub方法将返回一个pubsub实例,您可以订阅通道和侦听消息.你只能从客户机端调用发布(https://github.com/andymccurdy/redis-py/issues/151#issuecomment-1545015 请看这个注意事项 )
—-SCAN/SSCAN/HSCAN/ZSCAN: *scan命令正如在redis命令文档中那样都被实现,此外,每个相对应scan命令都有一个迭代器的方法 scan_iter/sscan_iter/hscan_iter/zscan_iter
除了上面的变化外,Redis 类是 StrictRedis的子类, 为了提供向后的兼容性重写了一些方法:
LREM: 调换num和value的顺序,这样num可以提供一个默认值为0
ZADD: redis默认指定score参数 在 value的前面,但是redis-py里的Redis类期望是 name1, score1, name2, score2, …这种形式,也是位置被变换了。
SETEX: 调换 time 和value 参数顺序