redis——django使用管道实现事务操作
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()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步