Redis 事务
一、Redis事务的概念:
Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。总结的来说,redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。
redis事务提出的逻辑
基于上面的问题,那我在一个客户端操作的时候,把所有的指令一次性按照顺序排他的放在一个队列中,执行完了之后再让其他的客户端操作。
redis事务的基本操作
- multi(开始事务) :设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中
- exec(结束事务):设定事务的结束位置,同时执行事务。与multi成对出现,成对使用
加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行exec命令才开始执行
- discard(取消事务):在multi之后,exec之前,终止当前事务的定义。
- 已经执行完毕的命令对应的数据
不会自动回滚
,需要程序员自己在代码中实现回滚。