第一段:redis连接
redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py.
redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用.如果需要另一个Redis实例(or Redis数据库)时,就需要重新创建redis连接实例来获取一个新的连接.
安装redis
pip install redis
连接redis,加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型.
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销.默认,每个Redis实例都会维护一个自己的连接池.可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池
连接池:redis_pool.py
import redis
from redis_pool import POOl
conn = redis.Redis(connection_pool=POOl)
conn.set('name', 'LinWOW')
print(conn.get('name'))
python操作redis的命令和命令行几乎一致,除了del,因为和关键字重叠,所以用delete
①.、字符串类型操作:
以字典的形式插入
hget , hgetall , hvals,hkeys查看数据
管道是redis的子类,它支持在一个请求中款冲多个命令到服务器
管道使redis的读写速度更加的快速.秒级取值1000+的数据.
并且使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作.
#1、创建一个管道
pipe = con.pipeline()
#缓冲多个命令
pipe.keys('*')
pipe.set('name','Mkl')
#执行命令
res = pipe.execute()#返回列表
print(res[0])
print(res[1])
管道的命令可以写在一起,如:
pipe.set('hello', 'redis').sadd('faz', 'baz').incr('num').execute()
print(r.get("name"))
print(r.get("role"))
print(r.get("num"))
以上就是土嘎嘎小编为大家整理的使用python操作redis_管道)相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!