在 Java 应用程序服务器上缓存 CSV 文件
我有一个 Java 应用程序服务器,需要解析 CSV 文件。有什么方法可以提高性能,因为该程序需要为每个新连接解析 CSV 文件。
CSV 文件是静态的,所以我正在考虑将其缓存在主内存中。
I have an application server in Java which requires parsing a CSV file. Is there any way by which I could increase the performance, as the program requires parsing the CSV file for each new connection.
The CSV file is static, so I was thinking about caching it in the main memory.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么将 csv 缓存在内存中?将解析结果缓存在内存中。不知道您要将其解析为什么,但创建一个代表记录的类。使该类不可变,然后如果您想快速访问某些记录,则缓存在例如列表或映射中。
Why cache the csv in memory? Cache the parsed result in memory. Don't know what you are parsing it to, but create a class that represents a record. Make that class immutable, and then cache in E.g. a List or Map if you want fast access to certain records.
如果您重复读取该文件,操作系统会将该文件缓存在内存中。我建议你缓存解析的数据。您可以检查文件的修改数据(可能还有长度),并仅在文件发生更改时重新解析它。
The file will be cached by the OS in memory for you if you read it re-read the file repeatedly. I suggest you cache the parsed data. You can check the modification data (and possibly the length) of the file and re-parse it only if it has changed.