Redis简单事务处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111957/article/details/82873490

一、引言

作为一个新青年,一定要有一颗好学的心。不要每天日复一日,年复一年,每天给自己定一个小目标。当然这个小目标肯定不是先挣一个亿,如果你真能一天挣一个亿,那你怎么会在看小编我写的文章哈哈哈~~~

今天来学习redis高级应用之事务处理。用过关系型数据库的同学肯定知道事务这个玩意,在我们之前学习的事务当中,只要有一条失败,整个事务都回滚,没有任何商量的余地。

那么今天就跟小编我来学习一下,不一样的事务处理。

二、redis事务

目前redis对事务处理还是相当比较简单的。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务的上下文,该连接后续的命令不会立即执行,而是先放在一个队列中,当执行exec命令时,redis会按照顺序的执行队列中的所有命令

三、具体操作

简单演示:如下图所示

1、当小编输入了multi命令时,则进入事务处理的上下文。

2、小编连续执行set index命令,返回的是QUEUED放入了队列中。

3、最后小编在执行exec命令,连续返回两次OK,最后index中的值是66

 

redis事务是否支持事务回滚?:如下图所示

1、当小编输入了multi命令时,则进入事务处理的上下文。

2、小编执行age、name自增,自增必须是数字类型字符串则会提示错误

3、在执行exec时,大家都看到了,即使在执行name自增时出错了,但是age还是自增变成67了。

4、所以在redis其实事务是不支持回滚的。

没有更多推荐了,返回首页