Redis事务的本质
- Redis的事务是一组命令的集合,一个事务中的命令会被序列化,按照顺序去执行,具有
一次性,排他性,顺序性的特点去执行一系列命令 - Redis事务没有隔离级别
- Redis的单条命令是原子性的,但是
事务不是原子性的 - 命令在事务中不会直接执行,只有发起执行命令,才会顺序执行
Redis事务的过程
- 开启事务(mutli)
- 命令入队
- 执行事务(exec)
- 放弃事务的指令 Discard

事务会有两种异常
- 编译时异常,命令错误的时候,其他命令也不会执行
- 运行时异常,只是语法问题,但是命令没问题时,别的命令会执行


Redis中的监视
Watch监视,能实现一个乐观锁的功能,watch监视一个key后,会有一个类似version的功能,事务执行的时候,会进行对比version,观察这个key对应的value是否发生改变,如果改变,则事务不会执行
本文深入解析Redis事务的本质,包括其序列化执行、一次性、排他性和顺序性特点,阐述了Redis事务缺乏隔离级别的特性,以及单条命令的原子性与事务整体非原子性的区别。详细介绍了事务的执行流程,包括开启事务、命令入队、执行事务和放弃事务的操作,并讨论了编译时异常和运行时异常的处理方式。此外,还探讨了Redis中监视机制的原理,以及如何通过Watch监视实现乐观锁功能。
1751

被折叠的 条评论
为什么被折叠?



