Redis 简介
Redis 教程
Redis 安装
Redis 配置
Redis 数据类型
Redis 命令
Redis 命令
Redis 键(key)
Redis 字符串(String)
Redis 哈希(Hash)
Redis 列表(List)
Redis 集合(Set)
Redis 有序集合(sorted set)
Redis HyperLogLog
Redis 发布订阅
Redis 事务
Redis 脚本
Redis 连接
Redis 服务器
Redis 进阶教程
Redis 数据备份与恢复
Redis 安全
Redis 性能测试
Redis 客户端连接
Redis 管道技术
Redis 分区
Java 使用 Redis
PHP 使用 Redis
Redis 事务 - Redis 教程 - 光年文档管理系统(Light Year Doc)
网站首页
Redis 事务
Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: - 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 - 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三个阶段: - 开始事务。 - 命令入队。 - 执行事务。 ## 实例 以下是一个事务的例子, 它先以 `MULTI` 开始一个事务, 然后将多个命令入队到事务中, 最后由 `EXEC` 命令触发事务, 一并执行事务中的所有命令: ``` redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days" QUEUED redis 127.0.0.1:6379> GET book-name QUEUED redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series" QUEUED redis 127.0.0.1:6379> SMEMBERS tag QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) "Mastering C++ in 21 days" 3) (integer) 3 4) 1) "Mastering Series" 2) "C++" 3) "Programming" ``` ## Redis 事务命令 <table class="table"><tbody><tr><th style="width:10%">序号</th><th>命令及描述</th></tr><tr><td>1</td><td><a href="#" target="_blank">DISCARD</a><br/> 取消事务,放弃执行事务块内的所有命令。</td></tr><tr><td>2</td><td><a href="#" target="_blank" textvalue="EXEC">EXEC</a><br/> 执行所有事务块内的命令。</td></tr><tr><td>3</td><td><a href="#" target="_blank" textvalue="MULTI">MULTI</a><br/> 标记一个事务块的开始。</td></tr><tr><td>4</td><td><a href="#" target="_blank" textvalue="UNWATCH">UNWATCH</a><br/> 取消 WATCH 命令对所有 key 的监视。</td></tr><tr><td>5</td><td><a href="#" target="_blank" textvalue="WATCH key [key ...]">WATCH key [key ...]</a><br/> 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。</td></tr></tbody></table>
上一篇:
Redis 发布订阅
下一篇:
Redis 脚本