Redis中如何实现数据备份和恢复?

Redis 可以通过以下方式实现数据备份和恢复:

  1. 使用 Redis 的 SAVE 命令创建数据快照:
  • SAVE 命令会创建一个.rdb文件,包含当前数据库的所有数据。
  • 这可以作为Redis的数据备份,用于恢复数据。

例如:

127.0.0.1:6379> SAVE 
OK

运行该命令后,会在 redis.conf 中指定的 dir 目录下生成 dump.rdb 文件。

  1. 使用 Redis 的 BGSAVE 命令在后台创建数据快照:
  • BGSAVE 会在后台异步创建数据库快照,不影响服务器正常运行。
  • 一般用于定期数据备份,避免 SAVE 命令阻塞 Redis 服务器。

例如:

127.0.0.1:6379> BGSAVE
Background saving started
  1. 恢复数据快照:
  • 只需要将备份的 .rdb 文件放在 redis.conf 指定的 dir 目录下,启动 Redis 服务器即可。
  • Redis 会自动检查 dir 目录中的 .rdb 文件,并载入其中的数据库快照。
  • 这样就完成了数据的恢复。

例如:
redis.conf

dir ./   # 保存 rdb 文件目录

复制 rdb 文件到指定目录并启动服务器

cp dump.rdb ./ 
redis-server redis.conf
  1. 使用 Redis 的 REPLICAOF 命令创建从节点并进行数据同步:
  • 通过 REPLICAOF 将从节点指向主节点,从节点会与主节点同步数据。
  • 如果主节点失效,可以使用 Redis-Cluster 工具将从节点提升为主节点,恢复服务。
  • 这样也可以实现 Redis 的数据热备份和恢复。