Java_web怎么记录用户的访问记录。

如题:项目门户网站要求记录用户的访问记录,有什么好的方式,考虑到数据量大和并发的问题,有没有好的方式,求建议。。。。是记录访问页面,网站内的。数据量的问题是:用户的每一个... 如题:项目门户网站要求记录用户的访问记录,有什么好的方式,考虑到数据量大和并发的问题,有没有好的方式,求建议。。。。
是记录访问页面,网站内的。
数据量的问题是:用户的每一个访问都当做一条访问日志储存,用户一多起来,访问日志的数据肯定是很大的,然后多个用户同时访问一个接口(就是后台保存日志的方法)会不会造成数据出现混乱的现象。
这些数据该怎么保存、考虑到查询速度,又该怎么读取呢?后台有个日志管理。
展开
 我来答
育知同创教育
2016-02-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
  1. 可以通过cookie来记录访问的次数,每一次登录都先判断cookie里面的值,如果有就给一个变量加一,如果没有就重新产生一个变量,这样就可以在页面上显示访问的记录

  2. 可以没有登录页面每次登录在数据库中记录一条记录

    如图:

京雁风0gz
2015-07-06 · TA获得超过829个赞
知道小有建树答主
回答量:933
采纳率:50%
帮助的人:613万
展开全部
访问记录是指哪些内容?我猜是想记录访问页面和停留时间这些吧。
你所说的数据量大是指什么数据量大?并发是指在线用户数吗?
我觉得后台可以使用缓存数据和队列写入数据库,如果每次请求界面都经过后台那么就在后台记录比如springmvc那种,像这样就可以直接在后台代码中跟踪访问界面了,如果访问的页面不经过后台代码的话你可以利用ajax提交到后台告诉后台当前用户正在访问此页面。
缓存数据是说缓存在线用户的访问记录,队列写入是说写入数据库的时候是属于批量写入减轻数据库开销也可以延迟写入,因为不在线用户的数据是死数据延迟写入不会影响什么。
不知道我说的是不是你想要的。
更多追问追答
追问
是记录访问页面,停留时间不管了。
数据量的问题是:用户的每一个访问都当做一条访问日志储存,用户一多起来,访问日志的数据肯定是很大的,然后多个用户同时访问一个接口(就是后台保存日志的方法)会不会造成数据出现混乱的现象。
这些数据该怎么保存、考虑到查询速度,又该怎么读取呢?后台有个日志管理。
追答
访问日志大产生数据多那就把产生数据和写入数据分开来考虑,不要绑死,产生一条写入一条,那么多用户同时在线倍数增加数据当然不适合这么做了。
日志管理并不一定是个实时显示的页面吧,那就可以考虑使用缓存数据。
至于你所说的多个用户访问同一个接口会不会产生数据混乱我想是不会的,因为他们访问的实例不是一个,就算是一个也会一个一个访问的只是效率低而已。
数据库的写入和查询这些与数据库有关与你怎么设计实现有关,与数据没多大关系的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ztw1122
2015-07-06 · TA获得超过1088个赞
知道小有建树答主
回答量:2382
采纳率:80%
帮助的人:944万
展开全部
用一个过滤流,根据用户访问的URI来记录
更多追问追答
追问
能详细点吗?记录用户在网站内的访问,比如查看个人消息列表、消息详情等一系列的访问,用户量一多起来,数据量是很大的。
追答
你可以在session放个集合,集合里放你的自定义的事件类,每次放入检测下,超过一定数量就批量存入数据库,清空集合。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式