我们在做后端服务的时候,要非常注重性能,比如我们一个项目,大家回频繁地打开某一个页面的时候,回频繁地去后台请求数据库访问数据,重复地查询一样的数据,这样一想,在数据库里那部分数据没有被更新的情况下还重复地去查询,是不是觉得有点浪费资源了呢?是的,那么我们就要想办法把那些不必要每次都从数据库里拿的数据(更新频率低)做缓存,不要每次访问页面都去查询一次。
我们使用 Redis 来实现缓存
1.引入需要的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
关于Redis的配置这里就不重复啰嗦了
2.往Redis里做的缓存的单位并不是单纯的一个对象,或者一个字符串这么简单,而是缓存了某个接口的全部返回内容
例如我有一个获取商品列表的接口,那么我的 Redis 缓存的就是这个接口返回的数据,所以我们是对接口进行操作的
但是我们要先把返回的内容进行序列化,必须是可以序列化的对象才能被缓存到 Redis 里
/**
* http请求返回的最外层对象
* @author: 林之谦
* @date: 2018/7/27
* @description:
*/
@Data
//@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResultVO<T> implements Serializable {
private static final long serialVersionUID = 1451589387303987463L;
/** 错误码 */
private Integer code;
/** 提示信息 */
private String msg;
/** 返回的具体内容 */
private T data;
}
所以我这里举例的返回对象是 ResultVO 这个类,那么我们要让它实现 Serializable接口&#