将MySQL数据迁移到Redis

将MySQL数据迁移到Redis


# cat mysql_to_redis.sql

SELECT CONCAT(
  "*12
", #这里的12是下方字段的数量,由MySQL表中的数据结构决定
  '$', LENGTH('HMSET'), '
', #HMSET是在Redis中写入数据时使用的命令
  'HMSET', '
',
  '$', LENGTH(id), '
', #id是HMSET字段后的第一个字段,迁移后会成为Redis Hash中的key
  id, '
',
  '$', LENGTH('name'), '
', #'name'将以字符串形式传入hash中,作为其中一个field。下面的'sdate'等与它相同
  'name', '
',
  '$', LENGTH(name), '
', #name是一个变量,代表了MySQL表中公司的名称,迁移后会成为上一参数'name'生成的field所对应的value。下面的sdate等与它相同
  name, '
',
  '$', LENGTH('sdate'), '
',
  'sdate', '
',
  '$', LENGTH(sdate), '
',
  sdate, '
',
  '$', LENGTH('email'), '
',
  'email', '
',
  '$', LENGTH(email), '
',
  email, '
',
  '$', LENGTH('domain'), '
',
  'domain', '
',
  '$', LENGTH(domain), '
',
  domain, '
',
  '$', LENGTH('city'), '
',
  'city', '
',
  '$', LENGTH(city), '
',
  city, '
'
)
FROM t1 AS c


mysql -h <MySQL host> -P <MySQL port> -u <MySQL username> -D <MySQL database name> -p --skip-column-names --raw < mysql_to_redis.sql | redis-cli -h <Redis host> --pipe -a <Redis password>
原文地址:https://www.cnblogs.com/zhouwanchun/p/13352736.html