设为首页 加入收藏

TOP

redis的事务
2019-08-15 23:32:07 】 浏览:14
Tags:redis 事务

redis支持简单的事务操作,将redis事务与mysql事务对比:

 

Mysql

Redis

开启

start transaction

multi

语句

普通sql

普通命令

失败

rollback 回滚

discard 取消

成功

commit

exec

 

 

 

 

 

 

 

 

 

 

 

在mutil后面的语句中, 语句出错可能有2种情况:

1: 语法就有问题,此时exec报错, 所有语句得不到执行:

 

2: 语法本身没错,但适用对象有问题,Exec之后会执行正确的语句,并跳过有问题的语句.

 

第一条命令执行成功,第二条命令被跳过,一条出现错误其余正确的命令仍然可以执行,再换discard取消试试看:

 mysql的rollback与redis的discard的区别:

mysql回滚为sql全部成功才执行,一条sql失败则全部失败,执行rollback后所有语句造成的影响消失

redis的discard只是结束本次事务,正确命令造成的影响仍然还在.

 

在事务中还有事务监听命令:

watch key1 key2 ...  #监听一个或多个key

unwatch   #取消所有的监听

 Redis的事务中启用的是乐观锁,只负责监测key没有被改动.如果没变正常执行,如果有变事务取消

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇laravel 的DB::raw() 语法使用 下一篇[PHP] 算法-构建排除当前元素的乘..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目