前言
作为当前开发社会中最受欢迎的几个技术之一,Redis和微服务中的SpingBoot绝对是面试的噩梦和工作中的小精灵,正好最近公司的业务中涉及到了其中的内容,为了之后不需要从头搭建,就直接搭建一个脚手架,后期直接写代码就可以了
2. 整合目标
使项目具有缓存功能,同时将默认的JDK序列化修改为Jackson序列化以存储一些对象,同时实现一些特定的个性化的缓存空间以满足不同场景下的不同缓存TTL时间需求。
3. 依赖集成
目前只需要引入下面的依赖即可:
<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>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
默认情况下spring-data-redis使用高性能的lettuce客户端实现,当然你可以替换为老旧的jedis。
4. 缓存及Redis配置
缓存以及Redis相关的配置项分别为spring.cache和spring.redis开头的配置,这里比较简单的配置为:
spring:
redis:
host: localhost
port: 6379
cache:
# type: REDIS
redis:
# 全局过期时间
time-to-live: 120
5. RedisTemplate个性化
默认情况下会有两个模板类被注入Spring IoC供我们使用,需要个性化配置来满足实际的开发。
一个是RedisTemplate<Object, Object>,主要用于对象缓存,其默认使用JDK序列化,我们需要更改其序列化方式解决一些问题,比如Java 8日期问题、JSON序列化问题。需要我们重写一下。
/**
* Redis的一些自定义配置.
*