Redis中的事务操作

本文介绍了Redis事务的三大特性:序列化执行、无隔离级别和不完全原子性,重点讲解了Multi、Exec和discard操作,以及如何通过乐观锁解决冲突。了解事务如何确保数据一致性,以及在实际应用中的注意事项。
摘要由CSDN通过智能技术生成

 Redis中的事务是一个单独隔离的操作,事务中的所有命令都会被序列化、按顺序的执行,事务在执行的过程中,不会被其他客户端发来的请命令请求打断。Redis中事务的主要作用就是串联多个命令防止别的命令插队。
 Redis中事务操作通过三个关键词来实现:Multi、Exec、discard,Multi是组队阶段,Exec是执行阶段,discard可以在组队的过程中放弃组队。
在这里插入图片描述
注意:在组队的时候有任何一个命令失败,则组队的队列会被取消,在执行的时候某个命令出现了错误,只有出现错误的事务不会执行,其他的事务都会执行,不会回滚。


事务的冲突问题

 通过乐观锁和悲观锁解决,具体详见Mysql篇。
乐观锁过程:在执行multi之前,先执行watch key命令监视key,可以监视一个或者多个key,如果在事务执行前这个key被其他命令改动,那么事务将会被打断。
在这里插入图片描述
在这里插入图片描述

Redis中事务的三大特性
  1. 单独的隔离操作:
    事务中的所有命令都会序列化、按顺序的执行,事务在执行的过程中,不会被其他客户端发送来的命令请求打断。
  2. 没有隔离级别的概念:
    队列中的任务没有提交之前都不会被实际执行,因为事务提交前任何指令都不会被实际执行。
  3. 不保证原子性:
    事务中如果一条命令执行失败,其后的命令仍然会被执行,没有回滚。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值