作者:ChenZhen
博客地址:https://www.chenzhen.space/
版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。
如果对你有帮助,请给一个小小的star⭐
首先我们先配置好springboot和Redis的环境,确保连接上Redis,并且开启了基于注解的缓存。
如果不知道怎么整合springboot和Reids的请参考我之前的文章:Redis整合springboot,使用RedisTemplate操作Redis
然后我们开始添加缓存,首先思考需要添加缓存在哪些地方。
我首先想到先在获取首页分页信息的地方添加缓存。
找到对应的Service层方法,添加@Cacheable注解,value值为pageIndex,key为pageNum的值。
完成后,添加计时语句计算该方法运行的时间,打印到日志上
第一次刷新页面耗时1529ms
可以看到此时分页数据已经写入缓存
多次刷新页面,耗时为4ms、4ms、3ms、8ms,可以看到时间大大缩短,可见缓存已经起作用了
删除缓存
再次刷新页面
可以看到明显时间变长,所以的确是缓存在起作用。
缓存能让我们更加快速的查询到数据,但是这也会带来数据库中的数据和缓存中的数据不一致的情况。如果这时管理员修改了博文的内容,会造成数据不一致。因此在修改数据库内容的时候,我们也要及时更新缓存。
这里我们选择在service层的新增、删除、修改方法都添加上@CacheEvict注解,在数据库更新数据时删除Redis中的缓存,让用户下一次加载的时候再重新加载缓存。
这里我只演示了首页的分页信息缓存,在博客其他地方都可以按照上面的方法添加缓存,我就不一一演示了。