1、使用maven,搭建spring-Boot项目,利用Spring-Boot-Test做测试
2、通过继承Spring自带的cache-CachingConfigurerSupport,实现key生成策略cacheKeyGenerator,缓存管理cacheManager,缓存redisTemplate
使用的是spring-boot-starter-data-redis
pom文件如下
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
在实现CachingConfigurerSupport时
使用Spring Data Redis提供多个序列化器:
GenericToStringSerializer:使用spring转换服务进行序列化。
JacksonJsonRedisSerializer:使用Jackson1,将对象序列化为JSON。
Jackson2JsonRedisSerializer:使用Jackson2,将对象序列化为JSON。
JdkSerializationRedisSerializer:使用Java序列化
OxmSerializer:使用Spring O/X映射的编排器和解排器实现序列化,用于XML序列化。
StringRedisSerializer:序列化String类型的key和value
在使用 Jackson2JsonRedisSerializer时需要引入
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
所以在pom文件需要引入spring-boot-starter-web,因为spring-boot-starter-web的pom文件以及引入了fasterxml(PS:上文中的pom文件代码已有)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>