项目中有一些不经常更新,且经常被查询的信息,可以使用缓存减轻关系库的压力
环境是spring boot 1.5
具体配置如下
1、在项目启动类xxxApplication上面配置@EnableCaching注解
package com.mingera;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
@EnableCaching
public class BasicApplication {
public static void main(String[] args) {
SpringApplication.run(BasicApplication.class, args);
}
}
2、在需要缓存的地方加入注解
这里先说下有三个注解,具体解释自行谷歌百度吧,不做赘述
@Cacheable //加入缓存
@CachePut //更新缓存
@CacheEvict //删除缓存
在于要使用缓存的具体方法上加上注解,注意如果返回的是json对象要把返回的对象实现Serializable序列化
@Cacheable(cacheNames="product",key = "123")
public Product findOne(String productId) {
return ProductDao.findOne(productId);
}
此处也可以在业务实现上面使用注解@cacheConifg(cacheNames="product"),注意缓存相同的内容时,key要保存一致4、需要注意的点
如果要更新缓存的话可以是用@CachePut,但是要注意返回的类型是一致的情况下才可以,否则请先使用@CacheEvict删除缓 存,然后查询时候做缓存
5、一定要注意配置redis!!!!!!