ehcache显示文章阅读次数相关思考

原创 2015年07月09日 17:01:35

我们做接口,应用,网页时常常会需要显示某篇文章的阅读次数(假设现在文章叫做article,阅读次数为readCount的属性,setter,getter器ok不谈)。

最常用的是直接获取返回给前台。article.getReadCount()   这样就好了。如果是点击了文章,当然是在点击的接口里面顺便更新下实体咯,article.setReadCount(article.getReadCount()+1)  ,XXservice.update(entity)下ok。

那么问题就来了。如果这个网站是个日访问量不足5的渣渣,这个方法简单方便。但是,假如访问量比较大了一点呢?set后的update下还行么?不行!我拒绝。这样是否考虑过数据库的承受能力呢?一直在不停的写。。。恐怕不太好。

那么解决方法就是ehcache。ehcache框架的配置见我上一篇文章。下面讲讲思路与具体实现与代码。

思路:通过ehcache将访问量的数据存在cache(缓存)中,规定一个请求的访问更新数据库的间隔时间,当请求时间间隔超过时更新。

实现:

1,在实体类中先定义下缓存名和间隔时间。

2,ehcache.xml里面配置相同的缓存名

<cachename="growthDiaryHits"maxElementsInMemory="500"eternal="true"overflowToDisk="true"/>

3,service具体实现:

3.1:通过缓存名获取缓存,查找出对应每一篇文章的元素。定义阅读数变量count为0;

3.2:缓存元素存在,则设置count为缓存中的值;不存在则是数据库中值;

3.3:放入缓存;

3.4:判断时间来更新表;

4,接口,控制器等等调用service方法。


代码:(我觉得还是截图好,看着文章就证明这个没用过或者不熟悉,还是敲一遍学的快;截图省时间)

实体类中:


配置文件中(ehcache.xml):



service中:


接口中:



上面讲的是写,既然是存在缓存中的,那么读的时候从数据库中拿出来的阅读量肯定不是实时的了,代码如下:

// growthDiaryListBlock.setReadCount(growthDiary.getReadCount());

            // 修改获得阅读量的获取,通过ehcache判断,存在从ehcache获取,不存在从表获取

            Element element = cache.get(growthDiary.getId() + "_count");

            if (element != null)

            {

                growthDiaryListBlock.setReadCount((Integer) element.getValue());

            }

            else

            {

                growthDiaryListBlock.setReadCount(growthDiary.getReadCount());

            }





版权声明:本文为博主原创文章,未经博主允许不得转载。

页面阅读量点击加一功能(js+java)

基于核格平台的点击量加一功能: 页面html部分: class="operate_div"> 来源:%{tableTr.source} 作者:%{tableTr.au...
  • Sakura_Momoko
  • Sakura_Momoko
  • 2016年10月19日 15:53
  • 1204

phpcms-v9中首页、频道页、列表页如何显示文章的浏览量和评论数

1.列表页获取数据的方法: {pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" mor...
  • vailook
  • vailook
  • 2017年01月11日 14:30
  • 1531

Hexo个人免费博客(三) next主题、评论、阅读量统计和站内搜索

使用Next主题美化界面:安装好hexo之后,主题使用的是hexo默认自带的landscape主题,Next主题是iissnan设计的,使用指南其实可以直接参考Next官方网:http://theme...
  • linshuhe1
  • linshuhe1
  • 2016年09月03日 18:01
  • 5171

自动检测CSDN博客文章阅读次数的爬虫

更多技术文章请访问我的个人博客http://www.rain1024.com自动检测CSDN博客文章阅读次数的爬虫平时没事会去CSDN上看一看博客里有什么变化,如果文章有评论或者有了私信,CSDN上都...
  • rain_web
  • rain_web
  • 2017年08月03日 21:32
  • 137

文章中单词出现次数统计代码

  • 2014年08月23日 23:51
  • 712B
  • 下载

视频相关知识积累文章阅读全集:一切始于未知

视频相关知识积累文章阅读全集收录了关于协议、视频编码、视频开发框架工具、视频点播直播推流拉流、以及前端视频播放等处理的文章。知不足,而行止,是为不智。学习是一件需要付出时间的东西,但时间能证明你的付出...
  • boonya
  • boonya
  • 2017年11月30日 14:47
  • 46

wordpress发表文章页面,常用标签显示数量相关问题

wordpress是大家很熟悉的博客,一般来说默认的功能就已经非常适合我们来用了。 关于发表文章页面,选择常用标签时,系统默认显示为最常用的45个标签,也就是如果超过45个,你仍然需要手动填写,某种...
  • myarche
  • myarche
  • 2017年11月30日 09:21
  • 78

hibernate中ehcache设置缓存策略和数据库隔离级别的关系(把2年前的文章先贴过来).

首先,二级缓存所适用的情况为以下3种:经常被访问,不经常改动,数据量不大。 总之,也就是数据库的更新需要一定的隔离机制,而缓存的并发更新也需要一定的隔离机制。 这主要是由于多线程并发操...
  • cuidongdong1234
  • cuidongdong1234
  • 2013年06月23日 20:04
  • 883

ehcache相关jar

  • 2017年08月18日 14:47
  • 5.92MB
  • 下载

EHcache相关jar下载及案例

  • 2016年05月13日 13:55
  • 6.27MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ehcache显示文章阅读次数相关思考
举报原因:
原因补充:

(最多只允许输入30个字)