利用管道完成数据从MySQL到Redis的高效迁移
2013-12-11 19:52
639 查看
Mysql到Redis数据的迁移,可以使用“管道输出”的方式把mysql命令行产生的迁移数据内容转换为Redis可识别的格式直接传递给redis-cli,redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的。关键就是把Mysql查询的内容格式化成redis-cli可用的数据格式。
准备在每行数据中执行的redis命令如下:
按照以上redis命令规则,创建一个events_to_redis.sql文件,内容是用来生成redis数据协议格式的SQL:
命令执行:
准备在每行数据中执行的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
相关文章推荐
- 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移
- 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移
- 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移
- 浅谈 Redis 与 MySQL 的耦合性以及利用管道完成 MySQL 到 Redis 的高效迁移
- 浅谈Redis与MySQL的耦合性以及利用管道完成MySQL到Redis的高效迁移
- 一步完成 MySQL 向 Redis 迁移
- 一句命令完成MySQL的数据迁移(轻量级数据)
- 一步完成 MySQL 向 Redis 迁移
- 一步完成 MySQL 向 Redis 迁移
- 一步完成 MySQL 向 Redis 迁移
- 一步完成MySQL向Redis迁移
- 将MySQL数据迁移到Redis
- 如何利用LoadRunner最高效的批量制造MySQL数据
- mysql利用存储过程实现对数据库数据的迁移
- 一步完成 MySQL 向 Redis 迁移
- 一步完成 MySQL 向 Redis 迁移
- 一步完成 MySQL 向 Redis 迁移
- 数据迁移至RDS-MySQL之利用RDS管理控制台
- 一步完成 MySQL 向 Redis 迁移
- 一句命令完成MySQL的数据迁移(轻量级数据)