管道可以一次执行多个命令,要么命令都执行成功,要么都失败
redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作,减少连接Redis的次数,减少资源开销
#!/usr/bin/env python# -*- coding:utf-8 -*-import redispool = redis.ConnectionPool(host='192.168.56.102', port=6379)r = redis.Redis(connection_pool=pool)# pipe = r.pipeline(transaction=False)pipe = r.pipeline(transaction=True)pipe.set('name', 'jinxf')pipe.set('role', 'manager')pipe.execute() #执行最后一步后,对Redis的数据操作会一起执行,类似rdbms数据库的事物