码迷,mamicode.com
首页 > 编程语言 > 详细

Redis的Python客户端redis-py的初步使用

时间:2015-05-02 01:03:33      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

 

1. 安装
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-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中的事务,可以在一次请求中执行多个命令,这样避免了多次的往返时延。

 

参考:

使用redis-py的两个类Redis和StrictRedis时遇到的坑

Redis的Python客户端redis-py

 

Redis的Python客户端redis-py的初步使用

标签:

原文地址:http://www.cnblogs.com/ajianbeyourself/p/4471391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!