寻求最佳解决办法,
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 1
开 100 个线程,每个线程读 2000 条数据. 这样来?
0-2000 , 2001-4000 , ... |
10
sss495088732 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 哈哈哈,确实是这样
|