有些网站有这2个功能:您浏览过的新闻,浏览过此篇新闻的网友还浏览过哪些新闻
后者算法有些难度
java底层,静态页面发布,只能用cookie收集信息,计算量很大求教各位大大应该怎样做
后者算法有些难度
java底层,静态页面发布,只能用cookie收集信息,计算量很大求教各位大大应该怎样做
解决方案 »
- mycelipse中java类可以自动编译,但是struts.xml等xml文件修改后,web-info下对应的xml文件不改变
- 一个关于JDBC连接mySQL的问题
- watij 怎么模拟js中的click事件
- 论坛中引用别人的回复该怎么实现呢?
- JScript中的隐式变量声明和var变量声明
- 我的jdbc连不上sqlserver了,请帮看看是怎么回事
- JSP中如何让链接所挂的参数在IE下方的状态栏中显示为乱吗?急急急急急急?
- http连接问题
- 急~~~!50分求救!
- springsecurity ExceptionTranslationFilter不执行
- 如何一个页面跳转后刷新框架中的另一个页面
- 帮帮忙JavaScript
session跟踪+数据库计数。还有没有别的要求?比如:浏览过此篇新闻的网友还浏览过哪些新闻的次数排序(新闻关注度的排行)?数据保存时限?大概用户数量?用户是否登录?等等。我的思路是假设用户是无需登录的,只要用户进网就能直接看文章,记录session的动作,把浏览过的新闻URL进行访问次数计录,并存在数据库中备用就行了。同时在线用户数量多时容易给服务器造成压力。数据存放在数据库中比较灵活。
比如:最近访客、最近所搜索的关键字、最近浏览的新闻、最近观看的影片 我记得阿里吧吧的搜索中,“最近搜索关键”是放在cookie中。
所以这些数据对于用户来说并不是非常重要,即使cookie被清除也无妨。
2、浏览过此篇新闻的网友还浏览过哪些新闻
这个可以放到服务器端。因为并不是把所有浏览过的新闻全部列出,而是列出几条访问人气最高的。打个比方吧,6度人脉听过没,就是无论你有多少个朋友,
但最终都是在这6层关系中徘徊。换句话说,无论你访问过多少新闻,但最终逃避不了就那么几条新闻,当N多人访问的时候 就出现了 访问数量越高的新闻 一直 被关注。所以,这个算法实现起来问题不大。3、至于数据的存放 前者我建议写到cookie中,后者放到服务器中,如cache中。
用户B游览了页面:1 4 5
用户C游览了页面:1 3 4
用户D游览了页面:2 5 新用户在游览1的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 2 3 4 5
新用户在游览2的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 3 5
新用户在游览3的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 4
新用户在游览4的时候显示浏览过此篇新闻的网友还浏览过哪些新闻 1 3 5用户非常多,所以session是不能用了,只能用cookie 但是如果检索所有用户的cookie的话 非常耗时 想问问有什么方法能快速的检索出需要的数据
用cookie是完成不了你说的任务的。Cookie是保存在客户端的,在服务器上怎么检索?难到所有用户都24小时挂线??用户能多到多少? 同时在线用户能达到多少? Web服务器前加分流(web load balancer),分流到几个不同的服务器上,同时在线几十万人也不成问题吧??