Redis事务

Posted dddjp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis事务相关的知识,希望对你有一定的参考价值。

redis事务

watch

unwatch

multi

exec

discard

单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

mysql rollback VS redis discard

Rollback后,该条语句之前的所有语句都失效,回滚到本次事务开始之前的数据库一致性状态

Discard只是结束本次事务,前2条语句造成的影响仍然还在

muitl,将命令先放到queued队列中,exec之后再执行。放入队列中时,只是检查语法的正确性,Exec之后,会执行正确的语句,并跳过有不适当的语句.根本不会回滚。

Redis的事务中,启用的是乐观锁,只负责监测key没有被改动.watch unwatch

以上是关于Redis事务的主要内容,如果未能解决你的问题,请参考以下文章

redis避免大事务提交失败

redis学习redis事务

Redis入门——Redis事务

redis-- redis的事务

Redis的事务

Redis的事务和watch