博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

centos下redis的导出和导入(限set命令)

Posted on 2017-10-30 15:18  懒人ABC  阅读(941)  评论(0编辑  收藏  举报

#!/bin/bash
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=10


KEYNAME="*"
KEYFILE=redis_key.txt
echo "KEYS $KEYNAME" | redis-cli -h $REDIS_HOST -p $REDIS_PORT -n $REDIS_DB > $KEYFILE


OUTFILE=redis_valuelist.txt
TEMPFILE=$OUTFILE.tmp
for key in `cat $KEYFILE`
do
echo $key >> $TEMPFILE
echo "GET $key" | redis-cli -h $REDIS_HOST -p $REDIS_PORT -n $REDIS_DB >> $TEMPFILE
done

cat $TEMPFILE|xargs -n 2|awk -F" " -v KEYNAME=$KEYNAME '{print "HSET " $1, "\""$2"\""}' > $OUTFILE

 

导入到指定的库

cat $OUTFILE | redis-cli -h localhost -p 6379 -n 4