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

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

时间: 2024-07-31 14:35:16

Redis的Python客户端redis-py的初步使用的相关文章

Redis之Python 使用 Redis

Python 使用 Redis 参考文档: http://redis.cn/clients.html#python https://github.com/andymccurdy/redis-py 安装Redis $ sudo pip install redis 简单的redis操作 字符串string操作 In [1]: import redis In [2]: r = redis.StrictRedis(host='localhost', port=6379, db=0, password='

Redis 以及 Python操作Redis

Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. -- Redis支持五种数据类型. -- Redis支持数据库备份. Redis的优势: -- Redis性能极高,读的速度是110000次/s,写的速度是81000次/s. -- Redis丰富的数据类型,String,Lists,Hashes,Sets以及Ordered S

python与redis

1.什么是redis Redis 是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是red

【python】redis基本命令和基本用法详解

1.redis连接 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令, 并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py. import redis 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 r = redis.Redis(host='192.168.19.130', port=6379) host是

原!!win7-64 安装python的 redis客户端库

安装python的redis客户端库 本人系统已装python2.7 利用cmd命令行: 1.cmd-->python -->>>进入python命令下 >>>from urllib import urlopen >>>data = urlopen('http://peak.telecommunity.com/dist/ez_setup.py') >>>open('ez_setup.py','wb').write(data.re

使用Python客户端(redis-py)连接Redis--华为云DCS for Redis使用经验

使用Python连接Redis,需要先安装Python以及redis-py,以CentOS为例,介绍redis-py的客户端环境搭建. 第0步:准备工作 华为云上购买1台弹性云服务器ECS(我选了CentOS 6.3),一个分布式缓存实例(DCS for Redis),我选了个单机实例. 注意ECS和缓存实例配置相同的VPC和安全组,确保网络互通. 第1步:安装python和redis-py 如果系统没有自带python,可以使用yum方式安装. yum install python 下载并解压

redis? python客户端

安装 https://pypi.python.org/pypi/redis/ https://github.com/andymccurdy/redis-py 参照官网,安装命令 sudo pip install redis 或者 sudo easy_install redis 亦或 源码包执行sudo python setup.py install 实例 >>> import redis >>> r = redis.Redis(host="172.16.64.

python实现redis客户端单例+hbase客户端单例

当业务需要大量去连接redis或者hbase的时候,大量的连接会造成socket的大量占用,导致的结果就是服务器没有更多的端口去分配,这种情况下的最好解决方案就是实现客户端连接的单例模式,保持连接永远是同一个.说到这,可能大家没有经历过,如果在每秒钟插入4000条数据的话,这个现象就非常明显了.下面就实现下python实现操作redis+hbase单例模式,有很多改进之处,根据自己业务进行调整,可以通过打印实例的ID进行验证: import happybase import redis clas

使用Python操作Redis

1. 安装pyredis 首先安装pip 1 2 3 4 5 6 7 8 <SHELL># apt-get install python-pip ...... <SHELL># pip install --proxy=http://172.1.2.6:8080 redis Downloading redis-2.9.1.tar.gz (62kB): 62kB downloaded Running setup.py (path:/tmp/pip_build_root/redis/se