Redis的Python客户端redis-py的初步使用
2015-05-01 23:39
429 查看
1. Redis的安装
sudo pip install redis sudo pip install hiredis
Parser可以控制如何解析redis响应的内容。redis-py包含两个Parser类,PythonParser和HiredisParser。默认,如果已经安装了hiredis模块,redis-py会使用HiredisParser,否则会使用PythonParser。HiredisParser是C编写的,由redis核心团队维护,性能要比PythonParser提高10倍以上,所以推荐使用。
2. Redis的使用
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedis.set方法)。Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。 简单说,官方推荐使用StrictRedis方法。不推荐Redis类,原因是他和咱们在redis-cli操作有些不一样,主要不一样是下面这三个方面。
·LREM:参数 ‘num’ 和 ‘value’ 的顺序交换了一下,cli是 lrem queueName 0 ‘string’ 。 这里的0时所有的意思。 但是Redis这个类,把控制和string调换了。
·ZADD:实现时 score 和 value 的顺序不小心弄反了,后来有人用了,就这样了
·SETEX: time 和 value 的顺序反了
.Pool: 连接池
import redis r = redis.StrictRedis(host='127.0.0.1', port=9212) r.set('foo', 'hello') r.rpush('mylist', 'one') print r.get('foo') print r.rpop('mylist')
如果在创建StrictRedis实例时没有指定连接池connection pool,那会自动创建一个。我们可以先建好一个连接池,在创建StrictRedis时指定该连接池,这样就可以实现多个StrictRedis实例共享一个连接池了。这样可以节省内存等资源消耗。
import redis pool = redis.ConnectionPool(host='127.0.0.1', port=9212) r_1 = redis.StrictRedis(connection_pool = pool) r_2 = redis.StrictRedis(connection_pool = pool) r_1.set('one', 'first') r_2.set('two', 'second') print r_1.get('one') print r_2.get('two')
redis pipeline机制,对应的是redis中的事务(其实称为pipeline更准确),可以在一次请求中执行多个命令,这样避免了多次的往返时延。
参考:
使用redis-py的两个类Redis和StrictRedis时遇到的坑
Redis的Python客户端redis-py
相关文章推荐
- Redis的Python客户端redis-py安装使用说明文档
- Redis使用入门(二)【Windows下Python客户端redis-py使用】
- Redis的Python客户端redis-py说明文档(转)
- fastdfs python客户端fdfs_client_py使用问题
- python实现简单redis客户端(3)使用asyncio添加异步支持
- python redis-py使用
- redis的python客户端redis-py
- Redis的Python客户端redis-py
- Redis的Python客户端redis-py
- Redis的Python客户端redis-py
- Redis的Python客户端redis-py
- Redis的Python客户端redis-py
- 使用sae-python-dev本地运行web.py项目出现module object has no attribute InteractiveInterpreter
- Python以邮件的方式发送由各个区服Redis数据库内存使用情况组成的Zabbix Screen图片
- 使用 PyInstaller 把python程序 .py转为 .exe 可执行程序
- zookeeper客户端zkpython使用文档
- zookeeper客户端zkpython使用文档(一)
- 使用python的docker-py实现docker的api操作 推荐
- Redis的Java客户端jedis-2.4.2.jar使用
- 使用python向Redis批量导入数据