博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用管道完成数据从MySQL到Redis的高效迁移
阅读量:7294 次
发布时间:2019-06-30

本文共 869 字,大约阅读时间需要 2 分钟。

hot3.png

Mysql到Redis数据的迁移,可以使用“管道输出”的方式把mysql命令行产生的迁移数据内容转换为Redis可识别的格式直接传递给redis-cli,redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的。关键就是把Mysql查询的内容格式化成redis-cli可用的数据格式。

准备在每行数据中执行的redis命令如下:

HSET stock [id] [CONCAT(t.sku_code, ':', t.tax_cost_price, ':', t.wh_name)]

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

SELECT CONCAT(	"*4\r\n",	'$', LENGTH(redis_cmd), '\r\n',	redis_cmd, '\r\n',	'$', LENGTH(redis_key), '\r\n',	redis_key, '\r\n',	'$', LENGTH(hkey), '\r\n',	hkey, '\r\n',	'$', LENGTH(hval), '\r\n',	hval, '\r'	)FROM (	SELECT	'HSET'            AS redis_cmd,	'stock' AS redis_key,	t.id              AS hkey,	CONCAT(t.sku_code, ':', t.tax_cost_price, ':', t.wh_name)        AS hval	FROM erp_purchasemanager_stock t) AS t

命令执行:

mysql stats_db --skip-column-names --raw < events_to_redis.sql | redis-cli --pipe

转载于:https://my.oschina.net/xiaomaoandhong/blog/183370

你可能感兴趣的文章
nginx+keepalived双master负载均衡配置
查看>>
我的友情链接
查看>>
H5学习笔记1
查看>>
MySQL-MongoDB开源监控利器之PMM
查看>>
AGG第二课 代码框架以及命名规则
查看>>
C#学习基本概念之匿名方法及Lambda表达式
查看>>
Exchange Server 2013就地电子数据展示
查看>>
NFS启动报错
查看>>
Java对象序列化
查看>>
MooseFS使用问题分析总结
查看>>
我的友情链接
查看>>
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程(转)
查看>>
shell中的PS命令的含义
查看>>
无聊的MYSQL 备份脚本,零时备用着
查看>>
openstack migrate image
查看>>
AnjularJS笔记5--ng-repeat跟据ID判断重复性
查看>>
【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
查看>>
ubuntu 安装google浏览器
查看>>
阿尔法狗要逆天!韩专家称其故意输李世石一局
查看>>
yum国内网络源的架设
查看>>