如何高效遍历最新文件的方法


我这边有一个程序在不断定期扫描一个数据文件里的文件,就像日志文件一样,里面有部分文件是在不断更新的,程序扫描到文件以后会把最新增加的内容录入到数据库中

我用的是php的读取文件夹的方法遍历目录里的所有文件,然后对比上次扫描记录的每个文件更新的时间,如果文件更新更新,则读取文件内容,并把最新的内容录入到数据库中,但现在发现,由于文件越来越多,在程序扫描时间间隔比较短的情况下,程序占用的cpu非常高,而且整个程序运行的效率也越来越低,但也不能把程序扫描的频率调得太低,因为要确保新数据尽快入库,想问一下有没有更高效方便的办法?

程序运行环境是linux,如果能用php解决就尽量用php,因为这个数据格式化以后入库方便一些,求方案,我期望的是通用性的程序

c java php 性能

雾雨琪露诺 12 years ago

如果是通过遍历来做,这样效率肯定很难提高,PHP的实现方案我不太清楚,个人还是偏向于用C,使用inotify或者EPOLL来做,另外一个更便捷的方式是采用node.js,其封装了inotify和Mysql操作,编码工作简单。

Alex小宇 answered 12 years ago

Your Answer