大家好,我系渣渣骥,今天跟大家分享的面试题是:谈一谈Redis事务?
Redis事务可以一次执行多个命令,要么都成功(commit),要么都失败(rollback)。
Redis事务具有以下特征:
1.隔离操作:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。
2.原子操作:事务中的命令要么全部被执行,要么全部都不执行。
面试官可能会进一步问你Redis中事务的操作。
开启一个事务:
multi
以后执行的所有命令,都在这个事务中执行的。
执行事务:
exec
会将在multi和exec中的操作一并提交。
取消事务:
discard
会将multi后的所有命令取消。
值得一提的是,监视一个或者多个key:
watch key...
如果在事务执行之前,被watch的这些 key被其它命令所改动,那么事务将会被打断。
取消所有key的监视:
unwatch
用户评论