社区
Web 开发
帖子详情
关于如何避免重复读取大文件
zzxiaoma
2011-06-02 10:16:31
比如有一系列的方法需要读取大的文本或者excel文件。这个文件会随时变化,也就是不能第一次执行放内存就不读取。
一些方法都需要从文件里面取数据,如何才能更有效率的写代码呢?
...全文
161
13
打赏
收藏
关于如何避免重复读取大文件
比如有一系列的方法需要读取大的文本或者excel文件。这个文件会随时变化,也就是不能第一次执行放内存就不读取。 一些方法都需要从文件里面取数据,如何才能更有效率的写代码呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
数字巫师
2011-06-03
打赏
举报
回复
这个还是看你的文件存储数量和文件大小。
若文件不算太大(每个<100K),数量不太大(少于几万个左右)是可以考虑直接存储在数据库中的。
此时用Hibernate二级缓存监控更新足够了。
如果太多和太大,就只能放在文件系统中自己写监控,自己写缓存,还要注意监控点不要遗漏
cscxxx
2011-06-03
打赏
举报
回复
这关系到商业逻辑也就是业务层面的问题
LZ确认在读的时间点是不是文件没有变动?
是否将整个资料丢到数据库请改动也到系统上进行修改?数据库够大?
如果使用缓存多久更新一次?缓存够大?
工作人员可容忍读取时间?
总之请lz列出一些问题和答案就可以选取更适合的解决方法
安心逍遥
2011-06-03
打赏
举报
回复
IE删除一下缓存,祝你好运
Inhibitory
2011-06-03
打赏
举报
回复
[Quote=引用 7 楼 zzxiaoma 的回复:]
引用 4 楼 inhibitory 的回复:
现用现读
现用现读的话那还是需要重复的去读
[/Quote]
解决重复读就是缓存的工作了
穆大叔
2011-06-02
打赏
举报
回复
也想知道,帮顶!!
zzxiaoma
2011-06-02
打赏
举报
回复
那就是说还是需要用缓存来解决这个问题?
朱超ZhuChao.Tech
2011-06-02
打赏
举报
回复
[Quote=引用楼主 zzxiaoma 的回复:]
比如有一系列的方法需要读取大的文本或者excel文件。这个文件会随时变化,也就是不能第一次执行放内存就不读取。
一些方法都需要从文件里面取数据,如何才能更有效率的写代码呢?
[/Quote]
hibernate 那個3級緩存(查詢緩存)。
zzxiaoma
2011-06-02
打赏
举报
回复
[Quote=引用 5 楼 zhouyusunquan 的回复:]
给文件一个版本,当更新之后版本加一,这样去判断,如果版本未变,则从内存中读取,如果变了,则重新读取,这样也可以避免不停的去读
[/Quote]
更新文件我并不知道什么时候更新,文件更新程序不能修改
zzxiaoma
2011-06-02
打赏
举报
回复
[Quote=引用 4 楼 inhibitory 的回复:]
现用现读
[/Quote]
现用现读的话那还是需要重复的去读
zzxiaoma
2011-06-02
打赏
举报
回复
[Quote=引用 3 楼 watermarkmms 的回复:]
肯定用缓存,自己写个静态的map,把内容读进去,文件修改的时候,把map内容也修改
[/Quote]
那岂不是要把读出的文件和map比较?因为不知道什么时候文件被修改,也不知道修改的是什么。那就需要把文件再读一变
zhouyusunquan
2011-06-02
打赏
举报
回复
给文件一个版本,当更新之后版本加一,这样去判断,如果版本未变,则从内存中读取,如果变了,则重新读取,这样也可以避免不停的去读
Inhibitory
2011-06-02
打赏
举报
回复
现用现读
watermarkmms
2011-06-02
打赏
举报
回复
肯定用缓存,自己写个静态的map,把内容读进去,文件修改的时候,把map内容也修改
纯c读写ini配置
文件
用c/c++读写ini配置
文件
有不少第三方的开源库,如iniparser、libini、rwini、UltraLightINIParser等,但都不理想,往往代码较大、功能较弱、 接口使用不方便。尤其在大小写处理、前后空格、各种注释、跨平台换行符...
将txt转成voc数据集标准xml(matlab的)
3. **MATLAB读写操作**:MATLAB提供了方便的
文件
读写函数,如`textscan`用于
读取
txt
文件
,`xmlwrite`用于创建xml
文件
。你可以先用`textscan`
读取
txt
文件
,然后根据VOC XML的结构构建数据结构。 4. **构建XML数据...
DOS系统原程序
FAT系统是DOS读写
文件
的基础,通过记录每个
文件
的数据块在磁盘上的位置,实现了
文件
的创建、
读取
和删除。 4. **中断处理**:在DOS中,中断是硬件和软件通信的关键机制。比如INT 21H是DOS提供的一系列功能调用,包括...
Android玲闹钟
1. `res` 目录:包含应用的资源
文件
,如布局
文件
(layout)、图片资源(drawable)、字符串资源(values)等。闹钟应用的界面设计、图标和文本描述都存储在这里。 2. `src` 目录:存放Java源代码,包括主活动...
使用ifstream
避免
重复
读取
txt
文件
最后一行的正确
读取
方法
【代码】使用ifstream
避免
重复
读取
txt
文件
最后一行的正确
读取
方法。
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章