Redis 事务

本文详细介绍了Redis事务的基础概念及使用方式,包括MULTI、DISCARD、EXEC等关键命令,并解释了Redis事务的部分支持特性,如不保证原子性。此外还探讨了WATCH命令实现的乐观锁机制及其应用场景。
摘要由CSDN通过智能技术生成

Redis 事务

redis相关命令

MULTI - 标记一个事务块的开始
DISCARD - 取消事务,放弃执行事务块内的所有命令。
EXEC- 执行所有事务块内的命令。
WATCH key [key …]
-监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
UNWATCH - 取消 WATCH 命令对所有 key 的监视

redis 部分支持事务,不保证原子性
(1)成功执行各条命令
成功执行在这里插入图片描述
(2)执行错误数据整个回滚
在这里插入图片描述
(3)执行后只回滚错误的命令

在这里插入图片描述
在这里插入图片描述
上述(3) 情况相当于可以理解为java运行时,和非运行时
如果只是运行时候才能检测出的异常,则值回滚异常的命令,其它正确的命令正常执行

Watch 监听
在这里插入图片描述
在这里插入图片描述
监听过程中 发生对监听数据的修改,导致事务执行回滚,相当于乐观锁机制。
exec执行后会自动清空监听,需要继续监听再执行事务,直到成功
下图在监听过程和执行完事务期间,无人对监控的key 修改,执行成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值