← Back to list

從A redis 匯出資料到B redis (RDB文件)

以下是我練習資料搬移時,為了不影響原DB資料,要把原redis的資料搬到自己的redis,方法應該不只一種,歡迎大家提出自己的方式或建議:

Sharon Liu · 2023-12-27 16:43 · 0 claps · 2.5 min read
#redis #rdb
Open on Medium ↗

從A redis 匯出資料到B redis (RDB文件)

Redis運行時資料保存在記憶體中,一旦重啟則資料將全部遺失。 

Redis提供了兩種持久化方式: 
RDB持久化:生成某個時間點的快照文件 
AOF持久化(append only file):日誌追加模式(Redis協議格式保存) 

Redis可以同時使用以上兩種持久化。

以上說明參於https://zhuanlan.zhihu.com/p/98497789

以下是我練習資料搬移時,為了不影響原DB資料,要把原redis的資料搬到自己的redis,方法應該不只一種,歡迎大家提出自己的方式或建議:

1. 匯出 A Redis 的 XXX.rdb 文件 通常最新的 RDB 文件位於 /data 資料夾下。你可以使用以下步驟來導出:

  • 直接將XXX.rdb複製到B redis,放置的位置可自定,同下步驟2的路徑
  • 若A redis 是用 Docker 啟:
docker exec -it <your_redis_container_name> redis-cli SAVE
docker cp <your_redis_container_name>:/data/dump.rdb /local/path/destination_folder/XXX.rdb

★ 請將 <your_redis_container_name> 替換為你的 Redis 容器名稱,將文件複製到B redis指定的路徑,XXX.rdb 也可替換為你想要的文件名。

2. 讓 B Redis 使用指定的 XXX.rdb 文件

1️⃣ 準備 Redis 配置文件 redis.conf

● 確認B redis redis.conf的配置 是否有定義持久化配置,不然重啟redis服務,他就會再產新的rdb文件。 ● 定義dir : 保存先前的rdb文件的路徑 ● 定義dbfilename : rdb的文件名稱

在 redis.conf 中:

# 指定保存先前的 RDB 文件的路徑
dir /path/to/your/destination_folder

# 指定 RDB 的文件名稱
dbfilename XXX.rdb

★ 請確保 dir 配置指向正確的目錄,dbfilename 設置為你要使用的文件名。

2️⃣重啟 Redis 服務

重新啟動 B Redis 服務,確保配置文件生效。

[同場加映] 如何建立可以指定 RDB 的 Redis 容器

  1. 建立 Dockerfile

創建一個資料夾,並在其中創建一個名為 Dockerfile 的文件,內容如下:

// Dockerfile

FROM redis
COPY redis.conf /etc/redis/redis.conf
CMD [ "redis-server", "/etc/redis/redis.conf" ]
  1. 創建 Docker Image
docker build -t my_image .
  1. 創建Docker container
docker run - name my_container_name -d -p 7050:6379 -e TZ=Asia/Taipei - restart always my_image

Done!


메타데이터
post_id
42b56e7fc059
slug
從a-redis-匯出資料到b-redis-rdb文件-42b56e7fc059
url
https://medium.com/@innovate72095/%E5%BE%9Ea-redis-%E5%8C%AF%E5%87%BA%E8%B3%87%E6%96%99%E5%88%B0b-redis-rdb%E6%96%87%E4%BB%B6-42b56e7fc059
canonical_url
https://medium.com/@innovate72095/%E5%BE%9Ea-redis-%E5%8C%AF%E5%87%BA%E8%B3%87%E6%96%99%E5%88%B0b-redis-rdb%E6%96%87%E4%BB%B6-42b56e7fc059
author_url
https://medium.com/@innovate72095
status
ok
fetched_at
2026-07-24 16:54:31