发表于: 2017-11-17 22:00:43

1 678


今天完成的事情:

1.将缓存写到以前实现类的方法下面,然后本以为OK了,但由于测试的时候要和没进行缓存的进行对比,所以建议写两个方法,然后用不同的URL进行调用。

不过去除掉前面的修改,然后又写了一个方法,把缓存写在新建方法下面,但是与他相关的控制类不会写,因为这个方法是半路从service的实现类里设置的,没法使用。

下图就是在service的实现类里添加的缓存数据的过程:

我访问页面以后,对查找页面进行手动刷新,实现多次访问的效果,然后输出了一下语句:

这个就是很明显的实现过程,数据也获得到了,且是在缓存中或者数据库中都有标明。

2.讲小课堂

3.由于前面说了,就是没有写出控制类,所以只好把缓存过程添加到以前写的根据ID查询学员的实现类方法下面,然后controller就不需要修改了,我访问以前写的那个URL就行了。

而有没有缓存是我有没有加这段代码来判断的。

事实证明写一个很麻烦,因为memcached压测不是很稳定,所以需要对一个请求压测多次,这样再去加上缓存代码,然后重新启动服务器,在对添加缓存后的代码发送请求,压测多次。

就是这样麻烦的测试了一下这个接口。

(1)50线程循环50次的

没有缓存的:

有缓存的:

(2)100线程循环100次的

没有缓存的:

有缓存的:

(3)150线程循环150次的

没有缓存的:

有缓存的:

从以上三种情况下的对比来看,有无缓存所表现出来的数据没有多大的变化,这个造成的原因也很多。

但是总的来说,无缓存的比有缓存的还稍微快点,有点想不太痛。数据库在远程测的也一样,有缓存的慢。所以需要打日志进行判断。

明天计划的事情:

看看AOP,打出日志,查看所出的问题所在。

遇到的问题:

1.就是在service的实现类里打算写两个方法,把有无缓存过程的情况分开。但是由于加了缓存的方法是从service的实现类里新加的,所以这个方法没法调用,导致写不出它的controller。

2.事实证明,可能有缓存的比没有缓存的还要慢,这个影响因素比较多,打算明天打出日志看看。

收获:

再次学习下了tiles框架,它主要使用方面是复用。


返回列表 返回列表
评论

    分享到