redis 6.0下云迁移

本次迁移为三节点
172.16.0.10 主
172.16.0.6 从
172.16.0.14 从
一、数据迁移

  • 第一步:数据迁移
    a.将源redis的数据打成快照
    #连接redis执行如下命令
BGSAVE

在 Redis 中, BGSAVE 命令用于在后台异步保存数据到磁盘,生成 RDB 文件。由于 BGSAVE 是异步执行的,因此需要通过一些方法来判断 BGSAVE 是否完成。以下是几种常用的方法:

  1. 使用 INFO PERSISTENCE 命令 INFO PERSISTENCE 命令可以提供与持久化相关的详细信息,包括 BGSAVE 的状态。
INFO persistence

输出示例:

Persistence

loading:0
rdb_changes_since_last_save:10
rdb_bgsave_in_progress:0
rdb_last_save_time:1709567890
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
  • rdb_bgsave_in_progress :
  • 1 :表示 BGSAVE 正在进行中。
  • 0 :表示 BGSAVE 已完成或未启动。
  • rdb_last_bgsave_status :
  • ok :表示上次 BGSAVE 成功完成。
  • err :表示上次 BGSAVE 出错。
  • rdb_last_save_time :上次成功保存的时间戳。

2.使用 LASTSAVE 命令 LASTSAVE 命令返回上次成功保存数据到磁盘的时间戳(以秒为单位)。执行 BGSAVE 后,如果 LASTSAVE 的时间戳发生变化,说明 BGSAVE 已完成。

redis-cli BGSAVE
redis-cli LASTSAVE

如果 BGSAVE 完成后, LASTSAVE 的时间戳会更新为 BGSAVE 完成的时间。

3.查看 Redis 日志
Redis 的日志文件会记录 BGSAVE 的开始和完成时间。你可以通过查看日志文件来确认 BGSAVE 是否完成。

tail -f /var/log/redis/redis-server.log

日志输出示例:

[12345] 01 Mar 12:34:56.789 # Background saving started by pid 12346
[12346] 01 Mar 12:35:00.123 * DB saved on disk
[12345] 01 Mar 12:35:00.123 * Background saving terminated with success

• Background saving started :表示 BGSAVE 开始。
• DB saved on disk :表示 BGSAVE 完成。
• Background saving terminated with success :表示 BGSAVE 成功完成1
总结
要判断 BGSAVE 是否完成,可以使用以下方法:

  1. INFO PERSISTENCE :查看 rdb_bgsave_in_progress 和 rdb_last_bgsave_status 。
  2. LASTSAVE :检查时间戳是否更新。
  3. 查看日志:通过日志确认 BGSAVE 的开始和完成。
  4. 监控工具:使用 RedisInsight 或 Prometheus + Grafana 实时监控。
  5. 应用程序监控:通过 Redis 客户端库轮询状态或监听事件。根据你的需求选择合适的方法即可!如果有其他问题,欢迎继续提问。

将新生成的rdb文件拷贝到新的服务器redis目录下(每个节点上传同一文件即可)

  • 第二步:启动redis(在数据没迁移前不能启动redis)
  • 首先启动redis
redis-server ../redis.conf
  • 然后启动哨兵
./redis-sentinel ../sentinel.conf

你可能感兴趣的:(redis,数据库,缓存)