

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：023 年 Redis 6 到 Valkey 过渡 AL2
<a name="redis6-to-valkey-al2023"></a>

以下文档描述了 023 年从 Redis 6 过渡到 Valkey 的关键方面 AL2。

## Redis 6 的支持时间线
<a name="redis6-support-al2023"></a>

 Redis 6 将于 2027 年 1 月 31 日进入生命尽头 (EOL)。在此日期之后，Redis 6 将不再从 Redis 项目获得更新或安全补丁。我们强烈建议用户在 2027 年 1 月之前迁移到 Valkey，以确保持续的支持和安全更新。

 有关 Redis 版本支持时间表的更多信息，请参阅 [Redis End-Of-Life](https://github.com/redis/redis?tab=security-ov-file#security-policy) 计划文档。

## Valkey 简介
<a name="valkey-introduction-al2023"></a>

 Valkey 是 Redis 7 的一个开源分支，由 Linux 基金会维护。它与 Redis 开源软件（OSS）2.x 到 7.2.x 版本完全兼容。Valkey 保持了熟悉的 Redis API 和功能，同时提供了若干增强：
+ 通过多线程提升性能。
+ 提高内存效率，尤其是在集群模式下。
+ 双通道复制以实现更好的数据一致性。

## 迁移计划和时间线
<a name="valkey-migration-plan-timeline-al2023"></a>

 强烈建议用户在 2027 年 1 月 31 日 Redis 6 进入生命周期 (EOL) 之前从 Redis 6 迁移到 Valkey。此迁移需要手动干预，不是自动的。

 Amazon Linux 建议进行此迁移，以确保您依赖 Redis 的应用程序具有持续的功能、支持和安全更新。

## 迁移选项和步骤
<a name="valkey-migration-option-steps-al2023"></a>

 我们根据您的部署需求和运营需求，提出了三条迁移至 Valkey 的路径。

### 选项 1：新实例安装
<a name="new-instance-installation"></a>

适用于新部署或不需要数据迁移的情况：

1. 安装 Valkey：

   ```
   [ec2-user ~]$ sudo dnf install valkey
   ```

1. 启动 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl start valkey
   ```

1. （可选）设置开机自启 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl enable valkey
   ```

1. 验证安装：

   ```
   [ec2-user ~]$ valkey-cli info server
   [ec2-user ~]$ valkey-cli ping
   ```

### 选项 2：原地替换
<a name="in-place-replacement"></a>

适用于不需要数据持久化的现有实例：

1. 停止 Redis 6：

   ```
   [ec2-user ~]$ sudo systemctl stop redis6
   ```

1. 安装 Valkey：

   ```
   [ec2-user ~]$ sudo dnf install valkey
   ```

1. （可选）在 Valkey 中使用 Redis 6 配置：

   ```
   [ec2-user ~]$ sudo cp /etc/redis6/redis6.conf /etc/valkey/valkey.conf
   [ec2-user ~]$ sudo cp /etc/valkey/valkey.conf /etc/valkey/valkey.conf.backup
   [ec2-user ~]$ sudo chown valkey:root /etc/valkey/valkey.conf
   [ec2-user ~]$ sudo sed -i 's|^dir\s.*|dir /var/lib/valkey|g' /etc/valkey/valkey.conf
   ```

1. （可选）在 Valkey 中使用 Redis 6 哨兵配置文件：

   ```
   [ec2-user ~]$ sudo cp /etc/redis6/sentinel.conf /etc/valkey/sentinel.conf
   [ec2-user ~]$ sudo chown valkey:root /etc/valkey/sentinel.conf
   ```

1. 启动 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl start valkey
   ```

1. （可选）设置开机自启 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl enable valkey
   ```

1. 验证 Valkey 安装：

   ```
   [ec2-user ~]$ valkey-cli info server
   [ec2-user ~]$ valkey-cli ping
   ```

1. 移除 Redis 6：

   ```
   [ec2-user ~]$ sudo dnf remove redis6
   ```

### 选项 3：数据迁移
<a name="data-migration"></a>

此选项允许您同时运行 Redis 6 和 Valkey。

1. 安装 Valkey 但不移除 Redis 6：

   ```
   [ec2-user ~]$ sudo dnf install valkey
   ```

1. （可选）在 Valkey 中使用 Redis 6 配置：

   ```
   [ec2-user ~]$ sudo cp /etc/redis6/redis6.conf /etc/valkey/valkey.conf
   [ec2-user ~]$ sudo cp /etc/valkey/valkey.conf /etc/valkey/valkey.conf.backup
   [ec2-user ~]$ sudo chown valkey:root /etc/valkey/valkey.conf
   [ec2-user ~]$ sudo sed -i 's|^dir\s.*|dir /var/lib/valkey|g' /etc/valkey/valkey.conf
   ```

1. （可选）在 Valkey 中使用 Redis 6 哨兵配置文件：

   ```
   [ec2-user ~]$ sudo cp /etc/redis6/sentinel.conf /etc/valkey/sentinel.conf
   [ec2-user ~]$ sudo chown valkey:root /etc/valkey/sentinel.conf
   ```

1. 修改 Valkey 配置：

   编辑 `/etc/valkey/valkey.conf` 并将“port”指令设置为不同的值（例如 6380），以避免与 Redis 6 冲突。

1. 启动 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl start valkey
   ```

1. （可选）设置开机自启 Valkey：

   ```
   [ec2-user ~]$ sudo systemctl enable valkey
   ```

1. 验证 Valkey 安装：

   ```
   [ec2-user ~]$ valkey-cli -p port info server
   [ec2-user ~]$ valkey-cli -p port ping
   ```
**注意**  
*port*替换为配置的端口号。

1. 迁移数据：

   您现在可以使用复制或手动数据传输方法将数据从 Redis 6 迁移到 Valkey。

1. 更新应用程序配置：

   逐步更新您的应用程序以使用 Valkey 端口。

1. 移除 Redis 6：

   一旦所有数据和应用程序都已迁移，您可以停止并移除 Redis 6。

   ```
   [ec2-user ~]$ sudo systemctl stop redis6
   [ec2-user ~]$ sudo dnf remove redis6
   ```

**注意**  
 强烈建议在生产系统中实施更改之前，在测试环境中验证迁移过程。

## 相关主题
<a name="valkey-migration-related-topics-al2023"></a>

 有关 Valkey 的更多信息：
+ Valkey：[https://valkey.io/](https://valkey.io)
+ Valkey 迁移：[https://valkey。 io/topics/migration](https://valkey.io/topics/migration/)/