简单脚本:把MYSQL数据导入REDIS
2017-02-13 17:53
316 查看
把MySQL数据导入Redis,只需要简单的三点。
第一点: 理解Redis的协议格式。
Redis的协议为: 参数个数 + 参数长度 + 参数 。如果参数多余一个,则重复前面的(参数长度 + 参数)。
举个例子:
*3
$4
SADD
$8
all_user
$5
admin
*3
$4
SADD
$8
all_user
$7
auditor
上面的命令,其实是两条命令。第一条命令写在一行字符串内是:*3 (参数个数) + $4 (第一个参数长度)+ HSET (第一个参数) + $8 (第二个参数长度) + all_user (第二个参数) + $5 (第三个参数长度) + admin (第三个参数) 。
第二点: 理解Redis的命令,比如上面例子中用到的Redis set的命令是: SADD key member [member ...]
第三点: 把Mysql的数据select出来,并组成一个字符串给redis。这就用到了SELECT和CONCAT。同样使用上面的例子,把下面的命令写入SQL文件,就可以拼出来需要的字符串了。
select concat( "*3\r\n", '$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(sval), '\r\n',
sval, '\r'
)
FROM (
select 'SADD' as redis_cmd,
'all_clients' as redis_key,
mac as sval
from client_info
) as tmp
理解了上面的三点后,就可以根据自己的需要,导入数据到redis了。最后,执行下面的命令,就可以完成导入了。
mysql -umysql -p'mysql' MYDB --skip-column-names --raw </tmp/test.sql | redis-cli --pipe
第一点: 理解Redis的协议格式。
Redis的协议为: 参数个数 + 参数长度 + 参数 。如果参数多余一个,则重复前面的(参数长度 + 参数)。
举个例子:
*3
$4
SADD
$8
all_user
$5
admin
*3
$4
SADD
$8
all_user
$7
auditor
上面的命令,其实是两条命令。第一条命令写在一行字符串内是:*3 (参数个数) + $4 (第一个参数长度)+ HSET (第一个参数) + $8 (第二个参数长度) + all_user (第二个参数) + $5 (第三个参数长度) + admin (第三个参数) 。
第二点: 理解Redis的命令,比如上面例子中用到的Redis set的命令是: SADD key member [member ...]
第三点: 把Mysql的数据select出来,并组成一个字符串给redis。这就用到了SELECT和CONCAT。同样使用上面的例子,把下面的命令写入SQL文件,就可以拼出来需要的字符串了。
select concat( "*3\r\n", '$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(sval), '\r\n',
sval, '\r'
)
FROM (
select 'SADD' as redis_cmd,
'all_clients' as redis_key,
mac as sval
from client_info
) as tmp
理解了上面的三点后,就可以根据自己的需要,导入数据到redis了。最后,执行下面的命令,就可以完成导入了。
mysql -umysql -p'mysql' MYDB --skip-column-names --raw </tmp/test.sql | redis-cli --pipe
相关文章推荐
- [Step By Step]使用SAP Business Objects Data Services将Mysql中的数据导入到SAP HANA中,并使用简单的Transformation
- 将Excel中的数据导入MySQL的简单方法
- solr4.0安装和简单导入mysql数据
- mysql学习小札(2)-- 数据备份、还原、导入导出方法的简单总结
- Talend open studio数据导入、导出、同步Mysql、oracle、sqlserver简单案例
- sqoop简单操作-从mysql导入导出数据
- sqlserver数据导入mysql一: 创建mysql数据库 perl脚本
- sqlserver数据导入mysql五:多线程导数据脚本(读取前面拆分的表名进行数据导入)
- mysql数据向Redis快速导入
- MySQL中数据导入恢复的简单教程
- mysql 脚本导入数据
- 关于mysql,使用脚本导入数据
- mysql导入txt数据脚本
- sqlserver数据导入mysql五:多线程导数据脚本(读取前面拆分的表名进行数据导入)
- 命令行下MySQL数据导出与导入简单示例
- 解决MYSQL导入脚本数据中文乱码方法
- Ubuntu命令行下MySQL数据导出与导入简单示例
- MySQL导入和导出sql脚本-导出表中前n条数据
- MySQL中数据导入恢复的简单教程
- 导入数据到mysql的一种简单的方法