redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。
单机上可以使用管道来实现事务,但是集群使用redis就不支持,redis事务只能管住一台机器上的数据,只能控制程序来实现,可以捕获异常,数据出错进行回滚
# 管道,实现事务操作# import redis# pool = redis.ConnectionPool(host='10.211.55.4', port=6379)# conn = redis.Redis(connection_pool=pool)# # pipe = r.pipeline(transaction=False)# # 拿到一个管道对象# pipe = conn.pipeline(transaction=True)# # 开启一次执行多条命令# pipe.multi()# pipe.set('name', 'lqz')# pipe.set('role', 'teacher')# # 直接执行上面所有命令# pipe.execute()