Redis的Python客户端redis-py的初步使用
作者:网络 软件教程库 2020-05-13
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:参数lsquo;numrsquo;和lsquo;valuersquo;的顺序交换了一下,cli是 lrem queuename 0 lsquo;stringrsquo; 。 这里的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
软件教程库 原文地址:https://www.itjcku.com/9999/1091386.html
推荐内容