redis 數(shù)據(jù)導入導出

開啟現(xiàn)有 Redis 實例的 AOF 功能(如果實例已經啟用 AOF 功能則忽略此步驟

# redis-cli -h ip -p port config set appendonly yes `

通過AOF文件將數(shù)據(jù)導入到新的 Redis 實例 (假定生成的 AOF 文件名為 append.aof)

# redis-cli -h ip -p 6379 -a pass --pipe < appendonly.aof

append.aof 文件分析

假設 redis 內存有「name:Jhon」的鍵值對,那么進行 AOF 持久化后,AOF 文件有如下內容:

*2 # 2個參數(shù) $6 # 第一個參數(shù)長度為 6 SELECT # 第一個參數(shù) $1 # 第二參數(shù)長度為 1 8 # 第二參數(shù) *3 # 3個參數(shù) $3 # 第一個參數(shù)長度為 4 SET # 第一個參數(shù) $4 # 第二參數(shù)長度為 4 name # 第二個參數(shù) $4 # 第三個參數(shù)長度為 4 Jhon # 第二參數(shù)長度為 4
所以對上面的內容進行恢復,能得到熟悉的一條 redis 命令:SELECT 8;SET name Jhon.
可以想象的是,redis 遍歷內存數(shù)據(jù)集中的每個 key-value 對,依次寫入磁盤中;redis 啟動的時候,從 AOF 文件中讀取數(shù)據(jù),恢復數(shù)據(jù)。

修改

*2 # 2個參數(shù)
$6 # 第一個參數(shù)長度為 6
SELECT # 第一個參數(shù)
$1 # 第二參數(shù)長度為 1
8 # 第二參數(shù)

*2 # 2個參數(shù)
$6 # 第一個參數(shù)長度為 6
SELECT # 第一個參數(shù)
$2 # 第二參數(shù)長度為 1
15 # 第二參數(shù)

可以將 數(shù)據(jù)導入到 15號 db

可能會有多個 select DB, 需要仔細查看

redis-cli -h 127.0.0.1 -p 6379 shutdown 停止 redis

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容