实质

Redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(队列),当执行时,一次性按照添加的顺序依次执行,中间不会被打断或者干扰。

基本操作

开启事务,设定事务的开启位置:multi

执行事务,与multi成对使用:exec

取消事务:discard

工作流程

Redis系列_04_Redis事务

操作注意事项

定义事务的过程中,命令格式输入错误怎么办?
如果定义的事务中所包含的命令存在语法错误,那么事务中所有的命令都将不执行。
定义事务的过程中,命令执行出现错误怎么办?
能够正确运行的命令会执行,运行错误的命令不会被执行,例如给string类型的key执行list类型的命令。

基于特定条件的事务执行

给key添加监视锁:watch key1 [key …]
特点:在执行exec前如果key发生了变化,那么将终止事务

取消对所有key的监视:unwatch

分布式锁

设置公共锁:setnx lock-key value
特点:

  • 如果有值则设置失败,不拥有控制权,不可以继续下一步操作,不会影响exec触发事务的执行
  • 如果没值则设置成功,拥有控制权,可以继续下一步操作

为分布式锁添加限定时间
①expire lock-key value
②pexpire lock-key value

相关文章:

  • 2023-04-05
  • 2022-12-23
  • 2021-07-24
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2021-04-10
猜你喜欢
  • 2021-07-18
  • 2022-12-23
  • 2021-07-17
  • 2021-04-01
  • 2021-05-14
  • 2021-09-09
  • 2021-04-22
相关资源
相似解决方案