Redis中的Multi命令

Multi命令

Redis中Multi和Pipeline命令都能一次执行多条命令。Pipeline并没有保证这些指令执行的顺序,Multi能保证整个操作的有序性。

Multi命令作用

  • MULTI,EXEC,DISCARD 和 WATCH 是 Redis 事务相关的命令。
  • Multi 命令用于标记一个事务块的开始。
  • 事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。

Redis中事务

Redis对事务部分支持,只是全部执行,不是全部成功/失败

  • 如果最开始语法等就有提交错误,全部不执行。
  • 如果在执行过程中报错,报错命令不执行,其他命令正常执行

示例

redis 127.0.0.1:6379> MULTI            # 标记事务开始
OK

redis 127.0.0.1:6379> INCR user_id     # 多条命令按顺序入队
QUEUED

redis 127.0.0.1:6379> INCR user_id
QUEUED

redis 127.0.0.1:6379> INCR user_id
QUEUED

redis 127.0.0.1:6379> PING
QUEUED

redis 127.0.0.1:6379> EXEC             # 执行
1) (integer) 1
2) (integer) 2
3) (integer) 3
4) PONG

参考:
https://www.runoob.com/redis/transactions-multi.html

posted @ 2022-01-13 10:39  zjcfrancis  阅读(359)  评论(0编辑  收藏  举报