Springboot添加缓存也是很方便,网站我选择的是ehcache缓存。
一、导入Gradle依赖
compile 'org.springframework.boot:spring-boot-starter-cache'
compile 'net.sf.ehcache:ehcache'
二、配置代码
在启动类中添加注解
@EnableCaching
public class Application ...
添加配置文件
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false">
<diskStore path="java.io.tmpdir/Tmp_EhCache" />
<defaultCache eternal="false" maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU" />
<!--最新文章缓存1天-->
<cache name="newArticle" eternal="false" maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="3600" memoryStoreEvictionPolicy="LRU" />
<!--类别缓存一天-->
<cache name="category" eternal="false" maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="86400" memoryStoreEvictionPolicy="LRU" />
<cache name="topArticle" eternal="false" maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="86400" memoryStoreEvictionPolicy="LRU" />
<cache name="good" eternal="false" maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="86400" memoryStoreEvictionPolicy="LRU" />
</ehcache>
三、在serviceImpl中添加缓存注解
@Override
@Cacheable(value = "newArticle")
public List<Article> getArticleList(int num, List<Count> countList) {
List<Article> articleList = articleDao.getArticleList(num * 5);
ConvertUtil.addClickConvert(articleList, countList);
return articleList;
}
运行代码,缓存生效。
注解有: @Cacheable 先从缓存中查,没有则查询数据库、 @CacheEvict 清空缓存 、@CachePut 表示缓存方法,每次都会去查询重新放入。
配置文件中相应的内容意思可以自行去百度。
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/51.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。