Redis事务

本文深入解析Redis事务的本质,包括其序列化执行、一次性、排他性和顺序性特点,阐述了Redis事务缺乏隔离级别的特性,以及单条命令的原子性与事务整体非原子性的区别。详细介绍了事务的执行流程,包括开启事务、命令入队、执行事务和放弃事务的操作,并讨论了编译时异常和运行时异常的处理方式。此外,还探讨了Redis中监视机制的原理,以及如何通过Watch监视实现乐观锁功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis事务的本质

  1. Redis的事务是一组命令的集合,一个事务中的命令会被序列化,按照顺序去执行,具有一次性,排他性,顺序性的特点去执行一系列命令
  2. Redis事务没有隔离级别
  3. Redis的单条命令是原子性的,但是事务不是原子性的
  4. 命令在事务中不会直接执行,只有发起执行命令,才会顺序执行

Redis事务的过程

  1. 开启事务(mutli)
  2. 命令入队
  3. 执行事务(exec)
  4. 放弃事务的指令 Discard
    在这里插入图片描述

事务会有两种异常

  1. 编译时异常,命令错误的时候,其他命令也不会执行
  2. 运行时异常,只是语法问题,但是命令没问题时,别的命令会执行
    在这里插入图片描述
    在这里插入图片描述

Redis中的监视

       Watch监视,能实现一个乐观锁的功能,watch监视一个key后,会有一个类似version的功能,事务执行的时候,会进行对比version,观察这个key对应的value是否发生改变,如果改变,则事务不会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值