一个简单快速的将MySQL的数据迁移到Redis中并且以hash方式存储,数据的存储需要遵守redis的通讯协议(官方连接 http://redis.io/topics/mass-insert),

如:

*3 CR LF  //三个字段

$3 CR LF  //第一个字段 ‘set’ 有3个字节

SET CR LF //字段内容set

$4 CR LF  //第二个字段key1有4个字节

key1 CR LF //字段二内容 mykey

$4 CR LF  //第三个字段有4个字节

val1 CR LF //字段三内容 val1

结果:set key1 val1

案例如下:

CREATE TABLE events_all_time (

id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

ACTION VARCHAR(255) NOT NULL,

COUNT INT(11) NOT NULL DEFAULT 0,

PRIMARY KEY (id),

UNIQUE KEY uniq_action (ACTION)

);

##数据自己添加到表

Redis存储结构:

1、hset events_all_time ACTION  COUNT   ##这里设置的键值方面于数据库对应起来

2、编写变量保存到文件里abc.sql

SELECT CONCAT(

"*4\r\n",                           ###表示redis命令有4个字段包括命令和参数(表字段)

'$', 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' ###最后一行没有\n

)

FROM (

SELECT

'HSET' as redis_cmd,

'events_all_time' AS redis_key,   ##这里用表名作为redis中的field名

action AS hkey, ##数据库字段

count AS hval

FROM events_all_time

) AS t

3、执行: /usr/local/mysql/bin/mysql -h192.168.1.195 -udlan -p log --skip-column-names --raw <abc.sql |redis-cli -h 192.168.1.130 --pipe

重要参数说明:

--raw: 使mysql不转换字段值中的换行符。

--skip-column-names: 使mysql输出的每行中不包含列名

本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1982357

快速实现MySQL迁移到Redis相关推荐

  1. 如何把MySQL数据迁移到Redis

    使用Redis的管道传输功能,可以将RDS for MySQL或本地MySQL的数据快速迁移到Redis中.使用其它引擎的RDS数据库也可以参照本文的方法将数据迁移到Redis中. 场景介绍 在应用与 ...

  2. 通过管道传输快速将MySQL的数据导入Redis(自己做过测试)

    通过管道传输快速将MySQL的数据导入Redis 通过管道传输pipe将MySQL数据批量导入Redis       自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即官网的Redi ...

  3. 为什么我们要从MySQL迁移到TiDB?(转)

    为什么我们要从MySQL迁移到TiDB? Nicolas • 发表于2020-03-12 10:49:38 • 2739次阅读 [51CTO.com原创稿件]当一张百亿数据量的表放在你面前,你将面临着 ...

  4. 为什么我们要从 MySQL 迁移到 TiDB?

    本文转载自公众号 51CTO技术栈. 作者介绍:贺磊,360 数据库运维资深工程师,<MongoDB 运维实战作者>,知名论坛 MySQL 版主,51CTO 博客之星,闲暇之余,喜欢将部分 ...

  5. 为什么我们要从MySQL迁移到TiDB?

    当一张百亿数据量的表放在你面前,你将面临着什么?加列?哭吧,怎么也得等个几天甚至几周.加索引?哭吧,不论你用 pt-online-schema,还是 gh-ost,你都面临着拷贝一张临时表用以存储临时 ...

  6. 视觉中国的NoSQL之路-从mysql迁移到Mongodb

    起因 视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站.2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上:MySQL ...

  7. 这38个小技巧告诉你如何快速学习MySQL数据库

    无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢?此文为你揭晓,你值得一看!看过别忘记点赞+转发支持哦. 1.如何快速 ...

  8. mysql场景测试_【干货】不同场景下 如何进行MySQL迁移

    一.为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作.迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性.就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地 ...

  9. 【干货】不同场景下 如何进行MySQL迁移

    一.为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作.迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性.就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地 ...

最新文章

  1. 专访Niclas Hedhman:Apache欢迎什么样的开源项目?
  2. HTML5之article元素与section元素之间的区别?
  3. 2008年最新的100条经典句子
  4. 腾讯重磅发布全栈机器学习平台Angel 3.0
  5. c语言环境窗口组成,如何搭建C语言环境
  6. QT中的MessageBox设置自动关闭退出
  7. 华为交换机配置syslog发送_华为/H3C Syslog配置
  8. Easytrader踩坑之旅(一)
  9. httpd-2.2.21 + php-5.3.8 自动安装脚本
  10. matlab 指定区域随机游走_了解随机游走模型和移动平均过程(Python)
  11. shell数组使用技巧
  12. eventlog analyzer 8.0
  13. Web安全之SQL注入攻击技巧与防范
  14. js 获取浏览器高度、浏览器宽度
  15. 奥多朗WIFI 插座
  16. 无法修改计算机时间权限,无法修改系统时间怎么办
  17. coffeescript java 执行_CoffeeScript—面向对象
  18. 华为交换机RRPP环协议
  19. 企业短视频团队运营策划工作SOP方案计划表
  20. 基于Springboot的漫画网站设计与实现的源码+文档

热门文章

  1. el表达式 多条件判断
  2. idea overlays文件夹_Intellij IDEA 文件修改提示星号
  3. atom配置python环境_Python编程:用VScode配置Python开发环境
  4. mysql每天1点执行存储过程_一天一点MySQL复习——存储过程
  5. python selenium 如何选中iframe中的元素?
  6. java 内部类 单例_确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)...
  7. android把js的注入和方法统一管理,android WebView 注入js 几种方式
  8. excel二极管伏安特性曲线_从交流电转直流电出发调研二极管的使用
  9. 根据前一个元素的check状态决定其他元素disable
  10. linux 关闭rsync服务器,linux下配置rsync服务器和实时同步