Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > redis事务执行watch监视

redis事务执行常用命令及watch监视详解

作者:bug生产者

这篇文章主要为大家介绍了redis事务执行常用命令及watch监视详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

redis事务

注意:我使用的版本是6.0.10,不同版本可能略有差别

redis事务就是一组命令的集合,一个事务中所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入

事务的常用命令

事务的执行

#标注事务的开始
MULTI
OK
#在事务内部的操作全是入队,不会真正执行
set tran1 v1
QUEUED
set tran2 v2
QUEUED
#执行
exec
1) OK
2) OK

redis的事务没有隔离级别的概念,并且不会保证原子性

watch监视

watch指令类似于乐观锁,在事务开始之前使用,如果在watch之后有任何所监视的key发生变化,exec指令所执行的事务将会被放弃,当 EXEC 被调用后,所有的之前被监视的键值会被取消监视,不管事务是否被取消或者执行。并且当客户端连接丢失的时候,所有东西都会被取消监视

#设值
set balance 100
OK
#监视
watch balance
OK
#修改
set balance 200
OK
get balance
"200"
#开启事务
MULTI 
OK
#修改入队
DECRBY balance 10
QUEUED
#执行失败
exec
(nil)
get balance
"200"

redis只能保证事务中的操作顺序执行,但是如果事务中有一条命令失败了,并不会回滚其他命令

以上就是redis事务执行常用命令及watch监视详解的详细内容,更多关于redis事务执行watch监视的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文