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()