一.获取redis-py
Redis官网提供了很多python语言的客户端(http://redis.io/clients#python),但最被广泛认可的客户端是redis-py。redis-py需要python 2.7以上版本,有关python的安装本书不会介绍,因为作为使用python语言的开发者来说这个无需介绍,主要来看一下如何获取安装redis-py,安装redis-py有三种方法:
第一:使用pip进行安装(推荐)
|
|
第二:使用easy_install进行安装
|
|
第三:使用源码安装(以2.10.5版本为例子)
|
|
二.redis-py的基本使用
redis-py的使用方法也比较简单,我们逐步骤介绍:
1.导入依赖库
|
|
2.生成客户端连接:
需要Redis的节点IP和端口两个参数。
|
|
3.执行命令
redis-py的API保留了Redis API的原始风格,所以使用起来不会有不习惯的感觉
|
|
整个实例代码如下:
|
|
输出结果为:
|
|
下面代码给出redis-py操作Redis五种数据结构的示例,输出结果写在了注释中:
(1).string
|
|
(2).hash
hgetall返回的是字典类型:
输出结果:{‘f1’: ‘v1’, ‘f2’: ‘v2’}
|
|
(3).list
lrange返回的是列表类型:
输出结果:[‘1’, ‘2’, ‘3’]
|
|
(4).set
smembers返回的是set类型
输出结果:set([‘a’, ‘b’])
|
|
(5).zset
输出结果:[(‘james’, 33.0), (‘peter’, 66.0), (‘tom’, 99.0)]
|
|
3 redis-py中pipeline使用
redis-py支持Redis的pipeline功能,下面将用一个简单的示例进行说明:
(1).引入依赖,生成客户端连接
|
|
(2). 生成pipeline:注意client.pipeline包含了一个参数,如果transaction=False代表不使用事务。
|
|
(3). 将命令封装到pipeline中,此时命令并没有真正执行
|
|
(4). 执行pipeline
|
|
我们将用redis-py的pipeline功能来mdel的功能
|
|
除此之外,pipeline还支持链式写法
|
|
4. redis-py中的lua脚本使用
redis-py中执行lua脚本和redis-cli十分类似,redis-py提供了三个重要的函数实现lua脚本的执行。
|
|
(1). eval函数有三个参数,分别是
|
|
以一个最简单的lua脚本为例子进行说明: get key
|
|
在redis-py中执行,方法如下:
|
|
(2) scriptLoad和evalsha函数
script_load和evalsha函数要一起使用,首先使用script_load将脚本加载到Redis中,代码如下
|
|
evalsha函数用来执行脚本的哈希值,它需要三个参数
|
|
执行效果如下:
|
|
整个完整代码:
|
|