
寻求最佳解决办法,
1 Ministor 2020-08-01 11:08:47 +08:00 lastid = first_num; map = jdbc.query(select * from table where id >${lastId} limit 1000); put2Redis(map) |
2 dilu 2020-08-01 11:09:27 +08:00 via Android 几十万数据不算多吧 就不能批量导入嘛?一次一万,估计三四分钟就导完了 |
6 smallyu 2020-08-01 11:21:13 +08:00 redis 的吞吐量不是每秒 10 万吗? |
9 huntcool001 2020-08-01 11:25:21 +08:00 开 100 个线程,每个线程读 2000 条数据. 这样来? 0-2000 , 2001-4000 , ... |
10 cocowind 2020-08-01 11:35:08 +08:00 0.0 我怎么记得 redis 是单线程的 |
12 siys 2020-08-01 11:42:37 +08:00 数据是什么结构呢 |
15 HolmLoh 2020-08-01 11:49:59 +08:00 via iPhone 多线程?一边读一边写? |
17 siys 2020-08-01 11:59:27 +08:00 你循环用 set 插入,搞不好有网络的原因 |
18 DavidNineRoc 2020-08-01 12:02:54 +08:00 贴你的代码, 你是每一条 lpush 还是 set. 用 redis 管道 |
19 Leigg 2020-08-01 12:24:00 +08:00 via Android 可能是带宽上限了。 |
20 coderwen 2020-08-01 12:25:33 +08:00 |
21 watzds 2020-08-01 12:39:11 +08:00 via Android Redis pipeline 批量写很快 |
22 worldOnlyYou 2020-08-01 12:49:06 +08:00 可以用 pipeline 的方式,能省不少时间 |
23 594duck 2020-08-01 12:56:46 +08:00 via iPhone redis 到 mysql 的预热受 IO 限制没办法太快的。 当年新浪微博预热集群 redis 15 分钟呢 |
24 594duck 2020-08-01 12:57:31 +08:00 via iPhone |
25 winglight2016 2020-08-01 13:31:43 +08:00 这点数据量,全部放 hashmap 里也没啥问题。可以自己封装一个缓存服务,hashmap 作一级缓存,redis 作二级,用队列慢慢往 redis 搬,搬完了要不要清理一级缓存看你们自己的需求。 |
26 tinzing OP |
29 tinzing OP @winglight2016 我试试 |
30 luozic 2020-08-01 15:14:51 +08:00 via iPhone benchmark 一下,实际的系统环境和单个组件的性能指标没啥非常大的联系,你的内部网络,cpu 配置 等等都有可能导致性能不符合预期。 |
31 sunny1688 2020-08-01 15:32:59 +08:00 大小写不统一,看着真难受!!! |
32 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 开源工具,安装好之后,写下配置文件就可行 |
33 baoshuai33 2020-08-01 15:49:59 +08:00 via iPhone @sss495088732 新闻早说 6 了,6 都出了好几个稳定版了 |
34 tinzing OP @huntcool001 这样系统 会不会撑不住-- |
36 DavidNineRoc 2020-08-01 19:12:25 +08:00 |
37 dreamage 2020-08-01 21:50:39 +08:00 运维,不忙时帮我导一下 |
38 ifsclimbing 2020-08-01 22:07:52 +08:00 说业务,需求 |
39 wakzz 2020-08-01 22:47:00 +08:00 看一下 redis 的 aof 设置,appendfsync 配置的哪个参数。如果 appendfsync 设置的 always,那么就是每次写操作都写一次 aof 日志,对于楼主这种高频写操作,IO 耗时会很大。 |
40 wangyzj 2020-08-02 00:30:24 +08:00 全读出来 然后循环塞进去 |
41 594duck 2020-08-02 10:06:03 +08:00 via iPhone 直接这么说 60 万的数据 select * 一次多久时间心里不就有数了 |
42 ghostviper 2020-08-03 09:39:24 +08:00 @gitgabige 兄弟你这个是高射炮打蚊子 :) |
43 gitgabige 2020-08-03 12:11:55 +08:00 @ghostviper 哈哈哈,确实是这样 |