Python redis事务(乐观锁与悲观锁)

MULTI开启事务,后续的命令会被加入到同一个事务中事务中的操作会发送给客服端,但是不会立即执行,而是将操作放到了该事务对应的一个队列中,服务端返回QUEQUDEXEC执行EXEC后,事务中的命令才会执行事务中的命令出错时,不会回滚也不会停止,而是继续执行下一步操作DISCARD取消事务,事务队列会被清空原子性:不支持,不会回滚且继续执行,隔离性:支持,事务中的命令顺序,不会被打断,先EXEC先执行,单机redis读写操作使用单进程单线程持久性:不支持,redis 数据容易丢失一致性:
摘要由CSDN通过智能技术生成

MULTI

开启事务,后续的命令会被加入到同一个事务中

事务中的操作会发送给客服端,但是不会立即执行,而是将操作放到了该事务对应的一个队列中,服务端返回QUEQUD

EXEC

执行EXEC后,事务中的命令才会执行

事务中的命令出错时,不会回滚也不会停止,而是继续执行下一步操作

DISCARD

取消事务,事务队列会被清空

原子性:不支持,不会回滚且继续执行,

隔离性:支持,事务中的命令顺序,不会被打断,先EXEC先执行,单机redis读写操作使用单进程单线程

持久性:不支持,redis 数据容易丢失

一致性:不支持,要求通过乐观锁watch来实现

redis 非 事务型管道:

from redis import StrictRedis
# 创建redis客户端 decode_response = true 从redis中获取的数据会进行decorade,不会是byse类型
redis_client = StrictRedis(host='127.0.0.1',port=6379,db=0,decode_response=True)
# 创建管道  默认就会开启事务,(设置参数,transaction=False,则不会开启事务,只会开启管道)
pipe = redis_client.pipeline(transaction=False)
# 使用管道对象进行的操作
a = pipe.set('name', 'zhangsan')
b = pipe.get
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值