将远程 Redis 实例备份到本地实例

在要进行备份的计算机上,跳转到 Redis CLI:

redis-cli

密码?

如果你的主 Redis 数据库(你要复制的主机)具有密码:

config set masterauth <password>

开始复制

运行以下命令以开始复制:

SLAVEOF <host> <port>

要检查复制是否正在运行:

INFO replication

你应该看到这样的输出:

# Replication
role:slave
master_host:some-host.compute-1.amazonaws.com
master_port:6519
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:35492914
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

注意 master_link_status 应该是 up

检查同步进度

同步完成后,INFO replication 应显示:

master_sync_in_progress:0

要检查已同步的数据集,你可以比较数据库的大小:

DBSIZE

将数据转储保存到磁盘

要将数据库异步保存到磁盘:

BGSAVE
CONFIG GET dir

然后你应该在 config 命令列出的目录中找到一个 dump.rdb 文件。

暂停复制

你可以停止复制:

SLAVEOF NO ONE

参考: Redis 复制指南