redis事务

Posted quietguoguo

tags:

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

redis 事务


Redis的事务允许在一次单独的步骤中执行一组命令,并且能够保证将一个事务中的所有命令序列化,然后按顺序执行;在一个Redis事务中,Redis要么执行其中的所有命令,要么什么都不执行。即Redis的事务要能够保证序列化和原子性。

redis事务只能部分保证原子性

  • 如果一组命令,在压入队列过程中发生了错误命令,则本事务中的所有命令都不执行。

redis事务_事务

  • 如果一组命令,在压入队列过程中正常,但是在执行事务队列命令是发生了错误,则只会影响发生错误的命令,不会应县跟其他命令的执行,不能够保证事务的原子性

redis事务_redis_02


与事务有关的常用命令

multi

标记一个事务的开始

​exec

执行事务队列中的所有命令

discard

清楚已经加入到命令队列中的命令,并且结束整个事务

watch

监控某key,当事务在执行过程中,此key若发生变化,则次事务放弃;否则,正常执行

redis事务_redis_03

unwatch

放弃监控所有的key


事务总结

1、单独的隔离操作:事务中的所有命令都会序列化、顺序地执行。事务在执行过程中,不会被其它客户端发来的命令请求所打断,除非使用watch命令监控某些键。

2、不保证事务的原子性:redis同一个事务中如果一条命令执行失败,其后的命令仍然可能会被执行,redis的事务没有回滚。Redis已经在系统内部进行功能简化,这样可以确保更快的运行速度,因为Redis不需要事务回滚的能力。

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

Redis的事务

redis 事务

redis事务

Redis事务入门及命令

Redis事务入门及命令

Redis之Redis事务