遷移介紹
Redis-cli是Redis自帶的一個命令行工(gong)具(ju),安裝Redis后即可直(zhi)接使用Redis-cli工(gong)具(ju)。
下載Redis,請(qing)使用以下命令(ling)獲取:
wget //download.redis.io/releases/redis-5.0.8.tar.gz
本章節(jie)主要介紹(shao)如何使用Redis-cli將自(zi)建Redis遷移到DCS緩存實例。
步驟1:生成AOF文件
說明
正(zheng)式進行遷移操(cao)作前,建議先暫停業務,確(que)保(bao)不會在(zai)遷移過(guo)程中丟(diu)失新產生的數據變動(dong)。
建議選(xuan)擇業務量較少的時間段(duan)進行遷(qian)移。
使用如下(xia)命令開啟緩存持久化,得(de)到AOF持久化文(wen)件。
redis-cli -h {source_redis_address} -p 6379 -a {password} config set appendonly yes
開啟持久化之后,如果AOF文件大小不再(zai)變化,說明AOF文件為(wei)全量(liang)緩存(cun)數據。
說明
使用redis-cli登(deng)錄redis實例(li),輸入命令“config get dir”可(ke)以查找生成(cheng)的AOF文件(jian)(jian)保(bao)存路(lu)徑,文件(jian)(jian)名如果沒(mei)有特(te)殊指(zhi)定,默認(ren)為:appendonly.aof。
生成AOF文件后如需(xu)關閉同步,可使用redis-cli登錄(lu)redis實例,輸入(ru)命令(ling)“config set appendonly no”進行關閉。
步驟2:上傳AOF文件至ECS
- 為節省傳輸時間,請先壓縮AOF文件再傳輸。
- 將壓縮文件(如以SFTP方式)上傳到ECS。
說明
ECS需保證(zheng)有足夠的(de)磁盤空間,供(gong)數(shu)據文(wen)件(jian)解壓縮,同時要(yao)與緩(huan)存實例網絡互(hu)通(tong),通(tong)常要(yao)求(qiu)相同VPC和相同子網,且安全組規(gui)則(ze)不(bu)限制訪問端口。
步驟3:導入數據
redis-cli -h dcs_instance_address} -p 6379 -a {password} --pipe < appendonly.aof
步驟4:遷移后驗證
數據(ju)導(dao)(dao)入成功(gong)后,請連接DCS緩(huan)存實例,通過(guo)info命令,確認(ren)數據(ju)是否已按(an)要求成功(gong)導(dao)(dao)入。
如(ru)果導(dao)入(ru)不成(cheng)功,需要分(fen)析原因,修正導(dao)入(ru)語句,然后(hou)使用(yong)flushall或者flushdb命令清理實例中的緩存數據,并重新導(dao)入(ru)。
導出和導入效率
AOF文(wen)件的生成較快,適用于可以(yi)進入Redis服務器并修改配置的場(chang)景,如用戶(hu)自(zi)建的Redis服務。
VPC內(nei)進(jin)行導入,平(ping)均(jun)100w數據(每(mei)條數據20字節),大概4~10秒完成。