前面的文章我们已经完成文章编辑器,页面展示等功能,今天要讲的是如何设计文章的点击量。
1)、文章每次请求都增加一次点击量。优点,简单。缺点,可以刷点击了,会不真实。
2)、通过session来控制点击量,在session存在的时候,不管如何刷新,都之后增加一次点击量。相比第一种方案,这种方案也不复杂,而且数据会真实很多。
3)、记录IP,同一IP在一段时间内,点击量只增加一次。这相比第二种方案,不会有同一电脑不同浏览器访问同一文章,增加多次点击量的情况。
点击量增加方案,大家可以自己挑选第二或者第三,基本都是没什么大问题的。
所有文章的点击量,我们都保存在缓存中,比如redis(感兴趣的同学可以自己去研究下),然后每次点击都修改缓存的数据,在晚上空闲的时候,定时同步到数据库中即可。
下面是第二种方案,通过session来记录。
@RequestMapping("/article/{contentId}")
public String article(HttpServletRequest request, @PathVariable String contentId) {
LocalDateTime time = (LocalDateTime) request.getSession().getAttribute(contentId);
if (null == time) {
//用session来判断点击量,如果不存在,就加1点击量。
request.getSession().setAttribute(contentId, LocalDateTime.now());
countService.addClickByArticleId(article.getId());
}
return "homepage/article";
}
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/52.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。