Redis数据备份和恢复
本文最后更新于 572 天前,其中的信息可能已经有所发展或是发生改变。

Redis数据备份和恢复

1. Redis 数据备份概述

Redis 主要有两种常用的数据备份方法:

  1. RDB 持久化
  2. AOF 持久化

目前公司的Redis普遍使用 RDB ,因此也是记录一下RDB 备份与恢复。

2. Redis 数据备份原理

2.1 RDB 持久化

  • RDB(Redis DataBase)持久化将 Redis 内存中的数据以快照形式保存到磁盘上。
  • 适用于需要快速备份和恢复 Redis 数据库状态的场景,如数据迁移、备份和恢复。
  • 优点:实现全量备份,数据恢复速度快。
  • 缺点:可能会造成一定程度的数据丢失。
  • 工作原理:通过 fork () 函数创建子进程,将数据库状态写入临时文件,然后替换原有 RDB 文件。
  • 可以在 Redis 运行期间定期执行,也可以手动执行。

2.2 AOF 持久化

  • AOF(Append-Only File)持久化将所有写操作以追加方式记录到文件中。
  • 适用于对数据完整性要求较高的场景,如实时性要求高的缓存场景。
  • 优点:可以实现增量备份,保证数据的完整性。
  • 缺点:数据恢复较慢,可能占用较多磁盘空间,影响 Redis 性能。
  • 工作原理:记录 Redis 执行的每个写操作到 AOF 文件中,通过重放这些操作来恢复数据库状态。

3. RDB 备份和恢复

以下以集群模式部署的 Redis 为例,介绍 RDB 备份和恢复步骤。

3.1 Redis Cluster 备份

  1. 生成备份文件:
  • 使用 redis-cli 手动执行 BGSAVE:
redis-cli -h <host> -p <port> -a <password> bgsave
  • 或在 redis.conf 中设置定期自动执行 BGSAVE:
save <seconds> <changes>
  1. 收集备份文件:
  • 从每个 master 节点收集生成的 RDB 文件(dump.rdb)
  • 将文件保存在安全位置

注意:执行备份时,确保集群处于低负载状态,以免影响性能。

3.2 Redis Cluster 恢复

  1. 停止每个节点的 Redis 服务:
    systemctl stop redis
    
  2. 放置备份文件:

  • 将 RDB 文件复制到每个节点的 Redis 数据目录
  • 文件名应为 dump.rdb
  1. 修改 redis.conf 配置文件:

    dbfilename dump.rdb
    dir /AppHome/redis
    
  2. 启动每个节点的 Redis 服务:
    systemctl start redis
    
  3. 验证数据恢复:

  • 使用 redis-cli 连接到 Redis Cluster
  • 检查数据是否存在并正确恢复

通过以上步骤,您可以成功地备份和恢复 Redis 集群中的数据。记得根据数据量大小预留足够的时间进行这些操作。

image-20250124163927463

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇