首先安装redis模块
pip3 install redis -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
一、连接redis
1.基本连接操作
string操作
set(name, value, ex=None, px=None, nx=False, xx=False)
在Redis中设置值,默认,不存在则创建,存在则修改
参数:
ex,过期时间(秒)
px,过期时间(毫秒)
nx,如果设置为True,则只有name不存在时,当前set操作才执行
xx,如果设置为True,则只有name存在时,当前set操作才执行
# -*- coding:utf-8 -*- # Author:Brownyangyang import redis #生成实例,连接redis服务器 r = redis.Redis(host='10.211.55.15',port=6379) #设置key-value r.set("name","liyang") #读取数据 print(r.get("name"))
2.连接池
使用连接池可以实现在客户端建立多个连接,需要使用连接的时候通过一定的算法获取已经建立的连接,用完了以后则还给连接池。这样就节省了建立、断开连接所消耗的时间。
# -*- coding:utf-8 -*- # Author:Brownyangyang import redis pool = redis.ConnectionPool(host='10.211.55.15',port=6379) r = redis.Redis(connection_pool=pool) r.set("name","liyang") #读取数据 print(r.get("name"))
3.管道
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
- 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
- 服务端处理命令,并将结果返回给客户端。
Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。
# -*- coding:utf-8 -*- # Author:Brownyangyang import redis import time pool = redis.ConnectionPool(host='10.211.55.15',port=6379,db=2) r = redis.Redis(connection_pool=pool) pipe = r.pipeline(transaction=True) pipe.set('name','liyangpip').set('location','nantong').lpush('list1','hello').sadd('course','math') pipe.execute()
使用管道效率比不使用管道效率要高。
4.发布订阅
未完待续