码迷,mamicode.com
首页 > 其他好文 > 详细

Redis(四)

时间:2020-01-15 09:54:04      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:back   定义   运行时   user   min   card   src   mic   lock   

Redis的事务

Redis事务的定义

Redis事务是一个单独的隔离操作,事务中所有的命令都会序列化,按顺序地执行,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断

Redis事务的主要作用就是串联多个命令防止别的命令插队

Multi,Exec,discard

技术图片

从输入Multi命令开始、输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis会将之前的命令队列中的命令依次执行***

 技术图片

 

 

 

技术图片

技术图片

组队的过程中可以通过discard来放弃组队

技术图片

技术图片

组队中某个命令出现了报告错误,执行时整个的所有队列都会被取消

技术图片

 

 如果运行时阶段某个命令报出了错误,则只有报错的命令不会被执行,而其他命令都会被执行,不会回滚

 技术图片

 

 区别于关系型数据库,如果关系型数据库有一个错误,则全部回滚(roll back)

锁的使用

在关系型数据库悲观锁使用很多,在Redis这种NoSQL数据库中乐观锁使用很多

技术图片

 

 

技术图片

WATCH key [key...]

在执行multi之前,先执行watch key1 [key2],可以监视一个(或多个)Key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被全部取消

 技术图片

 

 解答:因为我在exec之前在另个一个客户端更改了a的值,则watch监测下的a被改动,则事务将被全部取消

unwatch 取消watch对所有key的监视

Redis事务的特性

技术图片

 技术图片

Redis(四)

标签:back   定义   运行时   user   min   card   src   mic   lock   

原文地址:https://www.cnblogs.com/qyx66/p/12194686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!