java - 从文件中读取,并异步保存到数据库
问题描述
我正在尝试找到解析大文件并将结果保存在数据库中的最有效方法。
有问题的文件是一个 12_500_000 行的文本文件,其中包含来自服务器的日志。
日志看起来像这样
[notice] 2021-03-10T16:19:26.102551Z couchdb@127.0.0.1 <0.8999.68> 351ac014dd 87.92.211.148:5984 125.129.113.37 user1 GET /userdb 200 ok 8
我正在解析数据库名称 (userdb) 和动词 (GET)。
while ((line = reader.readLine()) != null) {
String[] data = line.split("\\s+");
service.save(new Request(data[8], data[9].substring(1)));
}
解析时间(低于 1 毫秒)与将其保存到数据库所需的时间(78.6 毫秒)相比是微不足道的。
我想异步执行此操作,但据我了解,您无法将记录异步保存到数据库中。
知道走哪条路,走得更快吗?
解决方案
推荐阅读
- php - 使用 Fat Free Framework 打印换行符(换行符)
- angular - NgRx - 状态改变不当
- python - 希望解决 1970 错误的 Pandas 中的日期错误
- r - 在另一个data.frame(data.table)中查找一个data.frame的对应日期
- vba - 没有附件时在特定邮件上显示回形针图标
- java - 运行 mvn 命令时如何忽略 jvm.config?
- python - 为什么这个程序没有结束?如果我不输入正确的数字,游戏将永远进行
- android-studio - 为什么自定义字体在启动应用程序时仅在几毫秒后出现?渲染问题?- 安卓工作室
- javascript - 角 | NgRx 在将对象放入下拉列表之前检查对象中的空字段
- reactjs - AXIOS Post 停留在我的 REACT 应用程序中