当前位置: 代码迷 >> 综合 >> 04 Redis6-事务
  详细解决方案

04 Redis6-事务

热度:88   发布时间:2023-12-12 00:07:46.0

Redis 事务常用命令

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

watch

相关概念:

  • 悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。比如,传统的关系型数据库使用到这种锁机制,如:行锁、表锁等,读锁、写锁等,都是在做操作之前先上锁的。
  • 乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,使用版本号等机制。

总结:

(1)开启:以MULTI开始一个事务

(2)入队:将多个 命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面

(3)执行:由EXEC命令触发事务

更多文章已被Github收录:https://github.com/niutongg/JavaLeague

4B544609-FA1C-4FE1-B99A-041A94838FAF.png