怎么高效地把几十万 mysql 数据一次性存入 redis?

2020-08-01 10:26:33 +08:00
 tinzing

寻求最佳解决办法,

7337 次点击
所在节点    PHP
43 条回复
watzds
2020-08-01 12:39:11 +08:00
Redis pipeline 批量写很快
worldOnlyYou
2020-08-01 12:49:06 +08:00
可以用 pipeline 的方式,能省不少时间
594duck
2020-08-01 12:56:46 +08:00
redis 到 mysql 的预热受 IO 限制没办法太快的。

当年新浪微博预热集群 redis 15 分钟呢
594duck
2020-08-01 12:57:31 +08:00
@huntcool001 几十万数据,你先考虑一下他有多大。

你这个回答还是没考虑到 IO
winglight2016
2020-08-01 13:31:43 +08:00
这点数据量,全部放 hashmap 里也没啥问题。可以自己封装一个缓存服务,hashmap 作一级缓存,redis 作二级,用队列慢慢往 redis 搬,搬完了要不要清理一级缓存看你们自己的需求。
tinzing
2020-08-01 15:10:04 +08:00
tinzing
2020-08-01 15:13:21 +08:00
@watzds 了解
tinzing
2020-08-01 15:13:49 +08:00
@siys 我也怀疑是不是网络原因 太慢了 本地很快的
tinzing
2020-08-01 15:14:07 +08:00
@winglight2016 我试试
luozic
2020-08-01 15:14:51 +08:00
benchmark 一下,实际的系统环境和单个组件的性能指标没啥非常大的联系,你的内部网络,cpu 配置 等等都有可能导致性能不符合预期。
sunny1688
2020-08-01 15:32:59 +08:00
大小写不统一,看着真难受!!!
gitgabige
2020-08-01 15:47:01 +08:00
分布式大数据方案考虑一下么:具体使用 flinkx
https://github.com/DTStack/flinkx/blob/1.8_release/docs/offline/reader/mysqlreader.md 多通道读取 mysql
https://github.com/DTStack/flinkx/blob/1.8_release/docs/offline/writer/rediswriter.md 写入 redis
开源工具,安装好之后,写下配置文件就可行
baoshuai33
2020-08-01 15:49:59 +08:00
@sss495088732 新闻早说 6 了,6 都出了好几个稳定版了
tinzing
2020-08-01 16:07:20 +08:00
@huntcool001 这样系统 会不会撑不住--
tinzing
2020-08-01 16:07:32 +08:00
@gitgabige 试一下
DavidNineRoc
2020-08-01 19:12:25 +08:00
dreamage
2020-08-01 21:50:39 +08:00
运维,不忙时帮我导一下
ifsclimbing
2020-08-01 22:07:52 +08:00
说业务,需求
wakzz
2020-08-01 22:47:00 +08:00
看一下 redis 的 aof 设置,appendfsync 配置的哪个参数。如果 appendfsync 设置的 always,那么就是每次写操作都写一次 aof 日志,对于楼主这种高频写操作,IO 耗时会很大。
wangyzj
2020-08-02 00:30:24 +08:00
全读出来
然后循环塞进去

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/694784

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX