weixin_42509452 2013-10-16 10:09
浏览 230
已采纳

如何才能把每个用户访问的url及时间记录下来,但又不影响系统性能

一个web系统,客户有这样的要求:把每个登录人员访问的url地址及时间全部记录下来, 系统是jsp 实现,我的想法是加一个Filter ,在这个Filter中做记录, 当在线人员多时,所有的操作都要被这个filter 过一遍,如果在Filte中做过多的操作,估计会影响性能,那么有没有什么办法实现这个需求呢? 我能想到的是:

1 内存中放一个 ArrayList , 记录下url+时间+用户ID,当记录条数达到一定数量时,比如1000条时,再保存到数据库中

2 使用第三方的缓存框架,让它们来缓存并序列化到磁盘中

 

各位能给点什么建议吗。谢谢

 

 

 

  • 写回答

4条回答 默认 最新

  • iteye_19215 2013-10-18 09:54
    关注

    用filter可以,用过滤后缀名来保证只记录一次就好了,开销不会很大,不推荐用数据库,这种日志信息直接写日志文件最合适,把日志信息缓存在内存里,再搞一个后台线程做集中写入,可以做到对性能影响最小

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献