一百万个openid快速导入到redis
主要需要理解两个步骤
- 创建person.sql 这个sql可以生成和reids对应的流 极其快的同步给redis
person表中是有100万数据的
SELECT CONCAT(
"*3\r\n",
'$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(hval), '\r\n',hval, '\r'
)
FROM (
SELECT
'RPUSH' as redis_cmd,
'missions' as redis_key,
fname as hval
FROM person
) AS t
2.调用命令 默认在redis 第0个单元中
mysql -h 127.0.0.1 -uroot -p -Dpachong --skip-column-names --raw </root/person.sql |redis-cli --pipe
结果 一百万个openid导入到reids不用7s
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1000000
为什么要把100万openid导入到redis?
openid 手机号码 email 都可以导入到reids 利用队列进行消息推送 、 数据导出。
还有一个原因
看我下一篇文章 数据导出(待写中)