导出导出redis里面的key值

导出redis3.0集群查询key的值:

echo "hget StockCodeKey:1 600284" | /data/redis3.0/bin79/redis-cli -c > /data/redis3.0/bin79/xcc.txt

使用redic-cli导入的两种方法:
有兴趣看原文的,参见 http://redis.io/topics/mass-insert

语法
redis-cli –pipe命令通常用于向redis中导入数据,表现形式为从管道接收指定格式数据,写批量入到redis中

# 注意每个语句后以\r\n结尾
echo -en '*3\r\n$3\r\nSET\r\n$4\r\nname\r\n$6\r\nzlikun\r\n' | redis-cli --pipe  
格式说明 
* *3表示语句有3个参数(包含SET命令本身) 
* $3表示接下来的参数字符数,如:SET长度为3 
* SET第一个参数(要执行的命令) 
* $4表示接下来的参数字符数 
* name是第二个参数(缓存键) * $6表示接下来的参数字符数 
* zlikun是第三个参数(缓存值) 
* ...

案例
将MySQL中数据直接导入到Redis中

mysql -h 127.0.0.1 -uroot -p123456 --skip-column-names --raw < export.data.sql | redis-cli --pipe  
或分成两步来做

mysql -h 127.0.0.1 -uroot -p123456 --skip-column-names --raw < export.data.sql > export.data.log  
cat export.data.log | redis-cli --pipe  

export.data.sql是一个用于生成指定格式数据的查询SQL文件,如:

-- 生成用户ID:用户名数据,每条记录以\r结尾,否则报错(测试后得出的结论)
SELECT CONCAT(  
    '*3\r\n'
    ,'$',LENGTH(r_cmd) ,'\r\n'
    ,r_cmd ,'\r\n'
    ,'$',LENGTH(r_key) , '\r\n'
    ,r_key ,'\r\n'
    ,'$',LENGTH(r_val) ,'\r\n'
    ,r_val ,'\r'
) AS 'data'
FROM (  
    SELECT 'SET' AS r_cmd ,CONCAT('user:' ,ID) AS r_key ,NAME AS r_val FROM TBL_USER LIMIT 100
) r_tmp ;

方法2: 逐条执行命令

目的: 导入  user3  ,  password3 到一个hashset。
week05-c.txt文件 的内容是:

hset user3 password pwd3

使用命令 cat week05-c.txt | ./redis-cli --pipe  导入

你可能感兴趣的:(redis)