欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的4種方法詳解

 更新時(shí)間:2020年02月07日 08:48:25   作者:herman  
這篇文章主要介紹了Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的4種方法詳解,需要的朋友可以參考下

1、aof 導(dǎo)入方式。

因?yàn)檫@種方式比較簡(jiǎn)單,所以我就先介紹它。

分兩步來(lái)實(shí)現(xiàn),第一步先讓源 Redis 生成 AOF 數(shù)據(jù)文件。

# 清空上文目標(biāo)實(shí)例全部數(shù)據(jù)
redis-cli -h 目標(biāo)RedisIP -a password flushall
# 源實(shí)例開(kāi)啟 aof 功能,將在 dir 目錄下生成 appendonly.aof 文件
redis-cli -h 源RedisIP -a password config set appendonly yes

dir 目錄,可以通過(guò) config get dir 目錄獲得。

config get dir
# 比如我的 Mac 上執(zhí)行上面的命令后,返回如下內(nèi)容
1) "dir"
2) "/usr/local/var/db/redis"

通過(guò)上面的命令,我們可以看到我本地的 dir 目錄是:/usr/local/var/db/redis。

現(xiàn)在我們來(lái)做第二步操作,讓目標(biāo) Redis 實(shí)例導(dǎo)入 aof 數(shù)據(jù)。

# 將 appendonly.aof 文件放在當(dāng)前路徑下
redis-cli -h 目標(biāo)RedisIp -a password --pipe < appendonly.aof
# 源實(shí)例關(guān)閉 aof 功能
redis-cli -h 源RedisIp -a password config set appendonly no

上面的第一個(gè)命令,執(zhí)行后,如果出現(xiàn)以下內(nèi)容,則表示導(dǎo)入 aof 數(shù)據(jù)成功。

All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5

我這里是測(cè)試,數(shù)據(jù)比較少,所以提示有 5 個(gè)導(dǎo)入成功了。

AOF 的缺點(diǎn)也很明顯,就是速度慢,并且如果內(nèi)容多的話,文件也比較大。而且開(kāi)啟 AOF 后,QPS 會(huì)比 RDB 模式寫(xiě)的 QPS 低。還有就是 AOF 是一個(gè)定時(shí)任務(wù),可能會(huì)出現(xiàn)數(shù)據(jù)丟失的情況。

2、通過(guò)我的 xttblog_redis_mv.sh 腳本來(lái)實(shí)現(xiàn)。

我的腳本內(nèi)容如下:

#!/bin/bash

#redis 源ip
src_ip=192.168.1.4
#redis 源port
src_port=6379

#redis 目的ip
dest_ip=127.0.0.1
#redis 目的port
dest_port=6389

#要遷移的key前綴
key_prefix=

i=1

redis-cli -h $src_ip -p $src_port -a password keys "${key_prefix}*" | while read key
do
  redis-cli -h $dest_ip -p $dest_port -a password del $key
  redis-cli -h $src_ip -p $src_port -a password --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a password -x restore $key 0
  echo "$i migrate key $key"
  ((i++))
done

大家在使用的時(shí)候,只需要替換 IP 即可。

這個(gè)腳本同樣有一個(gè)問(wèn)題就是使用了 keys *,然后一個(gè)一個(gè)遍歷,如果是生產(chǎn)環(huán)境,不建議這樣使用!當(dāng)然我的腳本也是可以再進(jìn)行優(yōu)化的!

3、使用 redis-dump 工具。

Redis-Dump 是一個(gè)用于 Redis 數(shù)據(jù)導(dǎo)入 / 導(dǎo)出的工具,是基于 Ruby 實(shí)現(xiàn)的,可以方便的進(jìn)行 redis 的數(shù)據(jù)備份。這個(gè)工具需要先安裝,以我的 Mac 為例,安裝教程如下:

# 沒(méi)安裝 ruby 的話,先安裝 ruby
brew install ruby
# 移除 gem 自帶源
gem sources --remove https://rubygems.org/ 
# 添加淘寶源
gem sources -a https://ruby.taobao.org/ 
# 安裝 redis-dump
gem install redis-dump -V

目前我發(fā)現(xiàn),淘寶的鏡像已經(jīng)出現(xiàn) bad response Not Found 404 了,被告知鏡像維護(hù)站點(diǎn)已遷往 Ruby China 鏡像。

# 替換鏡像地址
gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.org/
# 確認(rèn)鏡像地址是否替換成功
gem sources -l
# 替換成功后再安裝 redis-dump
gem install redis-dump -V

安裝完成后,就可以使用 redis-dump 工具進(jìn)行數(shù)據(jù)的導(dǎo)入導(dǎo)出了!

# redis-dump 導(dǎo)出
redis-dump -u :password@源RedisIp:6379 > 源Redis數(shù)據(jù)文件.json
# redis-load 導(dǎo)入
cat 源Redis數(shù)據(jù)文件.json | redis-load -u :password@目標(biāo)RedisIp:6379

cat 源Redis數(shù)據(jù)文件.json | redis-load -u :password@目標(biāo)RedisIp:6379

Linux 系統(tǒng)或者 Window 系統(tǒng)也都類似,安裝 redis-dump 工具完成后直接使用 redis-dump 導(dǎo)出,redis-load 導(dǎo)入即可完成數(shù)據(jù)的備份與遷移。

redis-dump 工具很強(qiáng)大,建議大家到官網(wǎng)上多看看它的官方文檔。

4、rdb 文件遷移

redis-dump 麻煩就麻煩在需要進(jìn)行安裝,如果我的 Redis 已經(jīng)有備份機(jī)制,比如有 rdb 文件,那么我們直接遷移 rdb 文件就可以達(dá)到同樣的目的。

首先,我們可以先關(guān)閉源 Redis 實(shí)例的 aof 功能。如果不關(guān)閉 aof,Redis 默認(rèn)用 aof 文件來(lái)恢復(fù)數(shù)據(jù)。

# 源實(shí)例關(guān)閉 aof 功能
redis-cli -h 源RedisIp -a password config set appendonly no

然后使用 save 命令把數(shù)據(jù)固化到 rdb 文件中。

# 固化數(shù)據(jù)到 RDB 文件
save

save 完成后,還是通過(guò) config get dir 命令獲得保存的 RDB 數(shù)據(jù)文件位置。

接下來(lái),我們需要?dú)⑺?redis 進(jìn)程。殺掉當(dāng)前 redis 的進(jìn)程,否則下一步的復(fù)制 rdb 文件,rdb 處于打開(kāi)的狀態(tài),復(fù)制的文件,會(huì)占用同樣的句柄。

kill -9 redis
# 或者
pkill -9 redis
# 或者手段關(guān)閉 Redis 服務(wù)

然后復(fù)制源 redis 的 rdb 文件到目標(biāo) Redis 的 dir 數(shù)據(jù)目錄,名字為你要遷移的 redis 的 rdb 文件名。

復(fù)制完成后,重啟目標(biāo) Redis 實(shí)例,數(shù)據(jù)就遷移完成了。 重啟完成后可以驗(yàn)證一下數(shù)據(jù)是否成功的復(fù)制了。

更多關(guān)于Redis數(shù)據(jù)導(dǎo)入導(dǎo)出以及數(shù)據(jù)遷移的方法請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • 基于Redis延遲隊(duì)列的實(shí)現(xiàn)代碼

    基于Redis延遲隊(duì)列的實(shí)現(xiàn)代碼

    在生活中很多時(shí)候都會(huì)用到延遲隊(duì)列,本文基于Redis延遲隊(duì)列的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Redis核心原理詳細(xì)解說(shuō)

    Redis核心原理詳細(xì)解說(shuō)

    這篇文章主要介紹了Redis核心原理詳細(xì)解說(shuō),redis利用epoll實(shí)現(xiàn)IO多路復(fù)用,將連接信息和事件放到隊(duì)列中,依次放到文件事件分派器,事件分派器將事件分發(fā)給事件處理器
    2022-07-07
  • Redis分布式鎖存在的問(wèn)題(推薦)

    Redis分布式鎖存在的問(wèn)題(推薦)

    有很多基于Redis實(shí)現(xiàn)的分布式鎖方案或者庫(kù),但是有些庫(kù)并沒(méi)有解決分布式環(huán)境下的一些問(wèn)題陷阱,這篇文章主要介紹了Redis分布式鎖存在的問(wèn)題,需要的朋友可以參考下
    2022-12-12
  • 在redis中存儲(chǔ)ndarray的示例代碼

    在redis中存儲(chǔ)ndarray的示例代碼

    在Redis中存儲(chǔ)NumPy數(shù)組(ndarray)通常需要將數(shù)組轉(zhuǎn)換為二進(jìn)制格式,然后將其存儲(chǔ)為字符串,這篇文章給大家介紹了在redis中存儲(chǔ)ndarray的示例代碼,感興趣的朋友一起看看吧
    2024-02-02
  • Redis源碼設(shè)計(jì)剖析之事件處理示例詳解

    Redis源碼設(shè)計(jì)剖析之事件處理示例詳解

    這篇文章主要為大家介紹了Redis源碼設(shè)計(jì)剖析之事件處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 使用Redis如何設(shè)置永久有效

    使用Redis如何設(shè)置永久有效

    這篇文章主要介紹了使用Redis如何設(shè)置永久有效,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Redis批量刪除key的命令詳解

    Redis批量刪除key的命令詳解

    這篇文章主要介紹了Redis批量刪除key的命令詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Windows下Redis的安裝使用教程

    Windows下Redis的安裝使用教程

    這篇文章主要以圖文結(jié)合的方式為大家詳細(xì)介紹了Windows下Redis的安裝使用,Redis的出現(xiàn),很大程度補(bǔ)償了memcached這類key/value存儲(chǔ)的不足,在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用,對(duì)Redis感興趣的小伙伴們可以參考一下
    2016-05-05
  • Redis實(shí)現(xiàn)優(yōu)惠券限一單限制詳解

    Redis實(shí)現(xiàn)優(yōu)惠券限一單限制詳解

    這篇文章主要介紹了Redis解決優(yōu)惠券秒殺應(yīng)用案例,本文先講了搶購(gòu)問(wèn)題,指出其中會(huì)出現(xiàn)的多線程問(wèn)題,提出解決方案采用悲觀鎖和樂(lè)觀鎖兩種方式進(jìn)行實(shí)現(xiàn),然后發(fā)現(xiàn)在搶購(gòu)過(guò)程中容易出現(xiàn)一人多單現(xiàn)象,需要的朋友可以參考下
    2022-12-12
  • 阿里云服務(wù)器安裝配置redis的方法并且加入到開(kāi)機(jī)啟動(dòng)(推薦)

    阿里云服務(wù)器安裝配置redis的方法并且加入到開(kāi)機(jī)啟動(dòng)(推薦)

    這篇文章主要介紹了阿里云服務(wù)器安裝配置redis并且加入到開(kāi)機(jī)啟動(dòng),需要的朋友可以參考下
    2017-12-12

最新評(píng)論