基于XML的统计网站某一个页面访问量
最近在做一个网站某一页面访问量的统计功能(不是整站) ,想来想去决定不用数据库作为存储介质,所以后来选择使用xml记录,解析方式是dom4j SAXReader,表现格式如下:
<EURL ID="www.xxx.com/index.jsp">
<IP ID="251.124.101.8:2013-01-11"/>
<IP ID="251.124.101.9:2013-01-11"/>
<IP ID="251.124.101.10:2013-01-11"/>
</EURL>
这样测试后发现一个问题,当该XML在写入的时候,被别人读取,恰好写入这边只写入了一半截数据,结束标签都不完整的时候,dom4j就解析不了了,后来想了想干脆把数据先放入会话,然后在特定情况下再一起写入,写入完后,再清空历史会话,依次来这样做,算是搞定了,但是在网上看到别人说这个XML文档到了很大的时候就解析不了,内存溢出。现在在考虑这样是不是合适啊,或者有哪位朋友给个别的思路,借鉴下!感激不尽~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
意思是只要不采用DOM的方式把XML数据读到内存,就没事吧?dom4j支持的SAX也是采用流的方式,和stax区别是设计模式的区别,但都是流的读取,那这样应该也不会有多大问题啦
大数据量XML,采用StAX API,流的方式读取XML,多大也没有关系