redis使用教程

1、redis數據導出導入

redis-dump -u 127.0.0.1:6379 -d 0 >redis.json 導出0庫數據


redis-dump -u 127.0.0.1:6379 -d 1 >test.json 導出1庫數據


cat test.json | redis-load -u 127.0.0.1:6379 導入數據


2、redis數據庫刪除

redis-cli keys “*kline*” > keys.txt #模糊導出相關的keysawk '$0="redis-cli del \""$0"\""' keys.txt > cmd.sh

3、客戶端登陸redis

redis-cli -h 127.0.0.1 -p 6379 -a "password" 密碼登陸


redis-cli 無密碼登陸


4、redis基本操作

set db redis 創建key

del key_name 刪除key

GET db 查看key

dbsize 查看當前庫數量

select 1 進入1庫

keys * 查看所有keys

flushall 刪除所有數據

select 0 flushdb 清理當前庫數據

5、redis-dump遷移

redis-dump需要ruby.2.2.0以上版本,因此,需要先升級。

5.1、更新編譯環境的包

yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

5.2、安裝RVM,通過RVM安裝升級

curl -L get.rvm.io | bash -s stable

source /etc/profile.d/rvm.shrvm -v //安裝完成後,通過該方法測試是否安裝正常

5.3、更新RVM安裝鏡像

vim /usr/local/rvm/user/db

ruby_url=https://cache.ruby-china.org/pub/ruby

ruby -v //查看ruby版本

rvm list known //列出已知ruby版本

rvm install 2.4 //安裝ruby2.4版本,會自動去匹配

5.4、更新gem版本

gem update --system //需要科學上網

gem -v //查看版本號

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ //更換源鏡像

gem sources -l //查看源鏡像內容

5.5、安裝redis-dump

gem install redis-dump -V //安裝redis-dumpredis-dump -v //查看版本號及是否安裝正常


redis-dump -u 源地址:6379 -a password > /data/deploy/redis/data/redis_6378.json //導出


< redis_6378.json redis-load -u 目標地址:6379 -a password -n //導入

6、Redis遷移

源服務器:

./redis-cli -h 源IP地址 -a 源密碼 config set appendonly yes //開啟aof功能

開啟後,數據在redis/data/6379/ 文件夾裡面

./redis-cli -h 源IP地址 -a 源密碼 config set appendonly no //關閉aof功能

目標服務器:

./redis-cli -h 目標IP地址 -a 目標密碼 --pipe < data/6379/appendonly.aof

7、腳本遷移

7.1、Redis全量合併

#!/bin/bashsrc_ip=源地址


src_port=6379src_db=0src_pw='密碼'dest_ip=目標地址


dest_port=6379dest_db=0desc_pw='密碼'./redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db keys "*" | while read keydo./redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $key | perl -pe 'chomp if eof' | ./redis-cli -h $dest_ip -p $dest_port -a $desc_pw-n $dest_db -x restore $key 0echo "migrate key $key"done


7.2、差異合併

#!/bin/bashsrc_ip=127.0.0.1src_port=8090src_db=14src_pw='1234'dest_ip=127.0.0.1dest_port=6379dest_db=2desc_pw='1234'#要遍歷的keyk=(test ws we)for loop in ${k[*]}doredis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $loop 0echo "The value is: $loop"done

7.3、導入某個key

redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 14 --raw dump test | perl -pe 'chomp if eof' | redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 15 -x restore test 0


分享到:


相關文章: