liunx篇】 十二. Redis事务 三

中国加油,武汉加油!

篇幅较长,配合目录观看

案例准备

  1. 本案例基于liunx篇】 十二. Redis常用命令和数据类型 二

1. Redis事务特点

  1. redis的事务是使用multi-exec的命令组合,使用它可以提供两个重要保证:
  2. 事务是一个被隔离的操作,事务中的方法都会被redis进行序列化并按顺序执行,事务在执行的过程中不会被其他客户端的发出的命令所打断。
  3. 事务是一个原子性操作,它要么全部执行、要么全部不执行。multi到exec命令之间的Redis命令将采取进入队列的形式,直至exec命令的出现,才会一次性发送队列的命令去执行。

2. Redis事务命令

  1. Multi:开启事务,之后的命令就会进入队列,而不是马上执行
  2. Exec:提交事务,如果被监听的键没有被修改,则采用提交命令,否则就执行回滚命令
  3. Discard:回滚事务
  4. watch key1 [key2]…:监听某些键,当被监听的键在提交事务前被修改,则事务会回滚 (基于乐观锁机制)
  5. unwatch :取消监听

3. Redis事务基本操作

在这里插入图片描述

4. 乐观锁

一个事务对某个属性设置监听,开启事务后对这个属性进行操作,如果在此期间有其他事务对该属性进行了修改,那最后这个事务是执行失败的。
在这里插入图片描述

5. 悲观锁

用mysql代替下
d在这里插入图片描述

发布了126 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/TheNew_One/article/details/105228804