你了解Redis事务的运作原理吗?

2026-05-19 17:040阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1040个文字,预计阅读时间需要5分钟。

你了解Redis事务的运作原理吗?

亲爱的,我是七淘。如果你理解过关系型数据库事务的概念,那么这篇文章对你来说很容易理解。具体什么是事务,我就不多说了,直接来讲Redis事务相关的内容。

首先,我们来聊聊Redis事务。

大家好,我是七淅。

如果你了解过关系型数据库事务的话,相信这篇文章对你来说是很容易理解的了。具体什么是事务我就不说不多了,直接讲 Redis 事务相关的部分。

首先,我们先来看下,Redis 是怎么执行事务的。

1. 事务执行过程

show code:

127.0.0.1:6379> multi OK 127.0.0.1:6379> set a test1 QUEUED 127.0.0.1:6379> set b test2 QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 127.0.0.1:6379> get a "test1" 127.0.0.1:6379> get b "test2"

一个事务的开始到结束会经过以下 3 个过程

  1. 事务开始
  2. 命令入队
  3. 事务执行

结合上面的例子,用人话介绍这 3 个过程就是:

Redis 执行 multi 命令标志事务开始。

当客户端切换至事务状态后,服务端会将除了 exec、discard(取消事务,放弃执行事务块内的所有命令)、watch 和 multi 以外的命令放进一个先进先出的事务队列中。即上面例子的 2 个 set 命令会被放进队列,并返回 QUEUED 给客户端。

当客户端发送 exec 命令时,服务端会立即执行该命令。

阅读全文

本文共计1040个文字,预计阅读时间需要5分钟。

你了解Redis事务的运作原理吗?

亲爱的,我是七淘。如果你理解过关系型数据库事务的概念,那么这篇文章对你来说很容易理解。具体什么是事务,我就不多说了,直接来讲Redis事务相关的内容。

首先,我们来聊聊Redis事务。

大家好,我是七淅。

如果你了解过关系型数据库事务的话,相信这篇文章对你来说是很容易理解的了。具体什么是事务我就不说不多了,直接讲 Redis 事务相关的部分。

首先,我们先来看下,Redis 是怎么执行事务的。

1. 事务执行过程

show code:

127.0.0.1:6379> multi OK 127.0.0.1:6379> set a test1 QUEUED 127.0.0.1:6379> set b test2 QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 127.0.0.1:6379> get a "test1" 127.0.0.1:6379> get b "test2"

一个事务的开始到结束会经过以下 3 个过程

  1. 事务开始
  2. 命令入队
  3. 事务执行

结合上面的例子,用人话介绍这 3 个过程就是:

Redis 执行 multi 命令标志事务开始。

当客户端切换至事务状态后,服务端会将除了 exec、discard(取消事务,放弃执行事务块内的所有命令)、watch 和 multi 以外的命令放进一个先进先出的事务队列中。即上面例子的 2 个 set 命令会被放进队列,并返回 QUEUED 给客户端。

当客户端发送 exec 命令时,服务端会立即执行该命令。

阅读全文