首頁  >  問答  >  主體

Redis 如何迁移数据?

正在运行的 Redis 服务,想迁移到另一台服务器,该如何迁移?
有类似 MySQL 的导入导出功能吗?

ringa_leeringa_lee2762 天前876

全部回覆(2)我來回復

  • 天蓬老师

    天蓬老师2017-04-21 11:20:29

    redis服務有複製功能,可以透過執行SLAVEOF指令或設定slaveof選項,讓一個伺服器去複製另一台伺服器,俗稱"主從同步"(redis2.8版本和低於2.8版本的複製邏輯有差別,需注意),所以,資料遷移分成以下幾步:

    1. 遷移的目標伺服器設定為被遷移伺服器的slave伺服器
    2. 待slave追上master的進度後,停掉寫redis業務(無法停機的話,需要考慮遷移期間的流水重做,或者在業務低峰期執行遷移,接受短暫的數據丟失)
    3. 主從伺服器完全同步後,修改寫redis業務配置,指向slave伺服器,並中斷主從關係
    4. 恢復寫redis業務

    redis複製功能客參考:連結描述

    另外,外網運行的redis實例一定要設定主從並開啟持久化選項(redis有兩種持久化策略:RDB和AOF),防止單點故障

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-21 11:20:29

    1.備份目前的redis ,會有一個dump.rdb 檔案
    2.將檔案複製到另一個伺服器的redis 目錄下
    3.重啟redis 就OK了

    回覆
    0
  • 取消回覆