Redis-事务操作和乐观锁-04

本文探讨了Redis的事务特性,指出其不保证原子性,但能确保命令按序执行。同时介绍了乐观锁的概念,利用Redis的watch命令来实现。在事务流程中,通过watch监听数据变化,multi开始事务,exec执行,失败则unwatch。这种方式在更新数据时避免加锁,提高了并发性能。
摘要由CSDN通过智能技术生成

Redis-事务操作和乐观锁-04

事务

redis单条命令保证原子性,但是事务不保证原子性

redis事务本质:一组命令的集合,一个事务的所有命令都会被序列化,这事务执行古城中,会按照顺序执行

redis事务没有隔离级别概念

事务:

  • 开启事务multi
  • 命令入队
  • 执行事务exec

放弃事务:discard

如果事务队列存在命令错误,事务其他命令不会执行

如果事务队列中执行时出现异常,其他命令可以正常运行

redis实现乐观锁

悲观锁:认为什么时候都会出问题,无论做什么都会加锁

乐观锁:认为什么时候都不会出问题,不会上锁,更新数据的时候去判断一下,此期间时候有人修改过这个数据,获取version,更新的时候比较version

watch

multi

exec

失败要unwatch

流程:

unwatch key 废弃监听

watch key 开启监听

multi 开始事务

exec 执行事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值