MySQL怎么向Redis迁移

61次阅读
没有评论

共计 1303 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍“MySQL 怎么向 Redis 迁移”,在日常操作中,相信很多人在 MySQL 怎么向 Redis 迁移问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL 怎么向 Redis 迁移”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

文章目录  

Mysql 到 Redis 的数据协议


从 mysql 搬一个大表到 redis 中,你会发现在提取、转换或是载入一行数据时,速度慢的让你难以忍受。这里我就要告诉一个让你解脱的小技巧。使用“管 道输出”的方式把 mysql 命令行产生的内容直接传递给 redis-cli,以绕过“中间件”的方式使两者在进行数据操作时达到最佳速度。
一个约八百万行数据的 mysql 表,原本导入到 redis 中需要 90 分钟,使用这个方法后,只需要两分钟。不管你信不信,反正我是信了。

其它翻译版本 (1)

zzxworld
翻译于 昨天 (14:36)1CREATE TABLE events_all_time (2
 id int(11) unsigned NOT NULL AUTO_INCREMENT,3
 action varchar(255) NOT NULL,4
 count int(11) NOT NULL DEFAULT 0,5
 PRIMARY KEY (id),6
 UNIQUE KEY uniq_action (action)7);

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

1HSET events_all_time [action] [count]

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

01– events_to_redis.sql02
 03SELECT CONCAT(04
  *4\r\n ,05
  $ , LENGTH(redis_cmd), \r\n ,06
 redis_cmd, \r\n ,07
  $ , LENGTH(redis_key), \r\n ,08
 redis_key, \r\n ,09
  $ , LENGTH(hkey), \r\n ,10
 hkey, \r\n ,11
  $ , LENGTH(hval), \r\n ,12
 hval, \r 13)14FROM (15
 SELECT16
  HSET as redis_cmd,17
  events_all_time AS redis_key,18
 action AS hkey,19
 count AS hval20
 FROM events_all_time21) AS t

ok, 用下面的命令执行:

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

很重要的 mysql 参数说明:
–raw: 使 mysql 不转换字段值中的换行符。
–skip-column-names: 使 mysql 输出的每行中不包含列名。

到此,关于“MySQL 怎么向 Redis 迁移”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计1303字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)