使用Redis-cli的AOF文件回放方式迁移
2020-05-07 11:21:18    69    0    0
admin

迁移介绍

Redis-cli是Redis自带的一个命令行工具,安装Redis后即可直接使用Redis-cli工具。

下载Redis-cli,请使用以下命令获取:

wget http://download.redis.io/releases/redis-3.0.7.tar.gz

适宜场景

通过Redis-cli导入整库,需要能够获取到AOF文件,适宜以下场景:

  • “数据中心自建Redis服务”迁移到“DCS缓存实例”
  • “华为云上自建Redis服务”迁移到“DCS缓存实例”

本文主要介绍在Linux系统中进行操作。

步骤1:生成AOF文件

须知:
  • 正式进行迁移操作前,建议先暂停业务,确保不会在迁移过程中丢失新产生的数据变动。
  • 建议选择业务量较少的时间段进行迁移。

使用如下命令开启缓存持久化,得到AOF持久化文件。

redis-cli -h {source_redis_address} -p 6379 -a {password} config set appendonly yes

开启持久化之后,如果AOF文件大小不再变化,说明AOF文件为全量缓存数据。

说明: 
  • 使用redis-cli登录redis实例,输入命令“config get dir”可以查找生成的AOF文件保存路径,文件名如果没有特殊指定,默认为:appendonly.aof。
  • 生成AOF文件后如需关闭同步,可使用redis-cli登录redis实例,输入命令“config set appendonly no”进行关闭。

步骤2:上传AOF文件至华为云ECS

  1. 为节省传输时间,请先压缩AOF文件再传输。
  2. 将压缩文件(如以SFTP方式)上传到华为云ECS。
说明: 

ECS需保证有足够的磁盘空间,供数据文件解压缩,同时要与缓存实例网络互通,通常要求相同VPC和相同子网,且安全组规则不限制访问端口,安全组设置请参考如何选择和配置安全组

步骤3:导入数据

redis-cli -h {dcs_instance_address} -p 6379 -a {password} --pipe < appendonly.aof

须知:

如果使用公网SSL加密时,连接地址和端口请替换为实际的配置信息。

步骤4:迁移后验证

数据导入成功后,请连接DCS缓存实例,通过info命令,确认数据是否已按要求成功导入。

如果导入不成功,需要分析原因,修正导入语句,然后使用flushall或者flushdb命令清理实例中的缓存数据,并重新导入。

导出和导入效率

AOF文件的生成较快,适用于可以进入Redis服务器并修改配置的场景,如用户自建的Redis服务。

VPC内进行导入,平均100w数据(每条数据20字节),大概4~10秒完成。

上一篇: Docker 容器中为PHP-FPM 环境安装Memcached扩展 图文教程

下一篇: Docker php安装扩展步骤详解

69
登录 后评论.
没有帐号? 现在注册.
0 评论
Table of content