一、redis的python客户端
去redis的官网看了一下http://redis.io/clients#python,python的客户端有很多,根据推荐和开发人员,选择redis-py。
二、安装redis-py
安装方法可以使用easy_install,或者从源码安装。
easy_install redis 注意是redis,而不是redis-py
或者
git clone https://github.com/andymccurdy/redis-py.git cd redis-py python setup.py install网上一些资料说需要python2.7版本,但我的是2.6.6,也一样正常使用。
三、安装parser
redis-py包含PythonParser和HiredisParser。默认下,如果已经安装了hiredis模块,使用HiredisParser;否则会使用PythonParser。我的数据量有千万量级,所以安装HiredisParser,因为据说HiredisParser是用C编写的,而且是Redis的核心开发人员写的,效率是另一种的10倍。
easy_install hiredis
四、简单应用
redis-py提供两个类:StrictRedis和Redis,用于实现Redis的命令,推荐使用StrictRedis。StrictRedis实现了绝大部分官方的命令,并且使用官方的语法和命令(比如,SET命令对应与StrictRedis.set方法)。Redis是用来向后兼容旧版本的。下面是个简单的例子。
- >>>import redis
- >>>r = redis.StrictRedis(host='127.0.0.1', port=9212)
- >>>r.set('foo', 'bar')
- >>>r.get('foo')
五、常用API
下面的API很多参考了这个文章的内容,大家可以去看原文。
https://my.oschina.net/012345678/blog?&search=Python+client+for+Redis
这边,我只列出来一些比较常见的内容。
连接池。 redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认时,每个Redis实例都需要维护一个自己的连接池
未实现的,或不一样的命令。
--- SELECT:未实现。每个redis实例需要有自己的连接。
--- DEL:替换成delete
--- LREM, ZADD, SETEX。调整参数顺序
-
LREM: 调换num和value的顺序,这样num可以提供一个默认值为0
-
ZADD: redis默认指定score参数 在 value的前面,但是redis-py里的Redis类期望是 name1, score1, name2, score2, ...这种形式,也是位置被变换了。
-
SETEX: 调换 time 和value 参数顺序