简单的数据库迁移方法从MySQL到Redis

简单的数据库迁移方法从MySQL到Redis
从一个大的表格从MySQL到Redis,你会发现,当你提取,转换,或负载的一行数据,速度慢的让你无法忍受。在这里我要告诉一个小技巧,让你自由。MySQL命令行的输出直接通过Redis命令通过管道输出绕过中间件的方式,使他们能够达到最佳的速度进行数据操作时。

一个关于八百万线数据的MySQL表,这是最初导入redis,花了90分钟,它只需要两分钟使用这种方法,相信它或没有,我相信它。

从MySQL到Redis数据协议

使用命令行的工人有一个批量插入模式专为批处理执行的命令。第一步是格式的MySQL查询内容为数据格式提供给我们redis-cli.here!
我的统计表:

创建表(events_all_time
ID int(11)符号的非空auto_increment,
varchar(255)不为空的动作,
int(11)不是NULL默认值0,
主键(ID),
独特的关键uniq_action(行动)
);
这是在每一行数据准备的Redis命令如下:
HSET events_all_time {action} {数量}

按照以上Redis命令的规则,创建一个events_to_redis.sql文件,它是用来产生redis数据协议格式的SQL:
- events_to_redis.sql

选择concat(
* 4 r
'$',长度(redis_cmd), R',
redis_cmd,' R',
'$',长度(redis_key), R',
redis_key,' R',
'$',长度(HKEY), R',
HKEY,' R',
'$',长度(HVAL), R',
HVAL、 R

(从
选择
hset'as redis_cmd,
events_all_time'as redis_key,
行动HKEY,
算是HVAL
从events_all_time
T)
好,用下面的命令执行:

MySQL stats_db --跳过列名称——原events_to_redis.sql redis CLI——管|。
重要的MySQL参数是:

-原始的:使MySQL不在字段值中转换行的行。
-跳过列名:在MySQL输出的每一行中不包含列名。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部