从零开始搭建自己的网站十二:点击量设计

前面的文章我们已经完成文章编辑器,页面展示等功能,今天要讲的是如何设计文章的点击量。

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";
}


评论 抢沙发

表情