redis 事务

Posted 坏~牧羊人

tags:

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

一、redis事务介绍

Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示事务命令结束。

二、Demo

1.正常执行的情况

127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set k1 v1
QUEUED
127.0.0.1:6379> set k2 v2
QUEUED
127.0.0.1:6379> set k3 v3
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) OK
3) OK
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
3) "k1"

2.取消执行的情况

127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set k4 v4
QUEUED
127.0.0.1:6379> set k5 v5
QUEUED
127.0.0.1:6379> DISCARD
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
3) "k1"

我们可以看到,当执行DISCARD指令时,k4和k5没有存入内存

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

Redis源代码分析(十七)--- multi事务操作

redis代码解析-事务

Redis事务入门及命令

19 事务 相关操作

19 事务 相关操作

Redis事务入门及命令