整合Redis作为缓存
1、安装redies
2、引入redis的starter
spring-boot-starter-data-redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
3、配置redis
spring.redis.host = //配置redis的主机地址
4、redis常用
RedisTemplate:键值对都是对象Object
StringRedisTemplate:键值对都是String类型
保存数据时,默认如果保存对象,使用的是jdk序列化机制,序列化后的数据保存到redis中,如果将数据以json的方式保存,则有两种办法:1)自己将对象转为json 2)修改redisTemplate默认的序列化规则
5、redis缓存原理
原理:需要缓存管理器CacheManager 管理缓存组件Cache 缓存组件来实际给缓存中存取数据
1)引入redis的stater之后,容器中保存的是RedisCacheManager,
2)RedisCacheManager帮我们创建RedisCache作为缓存组件,RedisCache通过操作Redis来实现缓存
3)默认保存数据k-v都是Object,利用序列化保存;那么如何保存为json呢?
- 首先,程序中引入了redis的starter,所以缓存管理器cacheManager是RedisCacheManager
- 其次,默认创建的RedisCacheManager操作redis的时候使用的是RedisTemplate,键值对都是Object类型的
- RedisTemplate是默认使用jdk序列化机制的
4)综上,如果使用Redis缓存,保存为json的时候需要自定义cacheManager