Spring Cache默认使用的是ConcurrentMapCacheManager管理器
创建的是ConcurrentMapCache缓存 然后将数据保存在ConcurrentMap中
实际使用缓存中间件的场合会更多 例如Redis EhCache等
Redis是一个高性能的支持网络 可基于内存亦可持久化的日志型 Key-Value数据库
Spring Cache默认使用的是SimpleCacheConfiguration这个配置类
当然 还有其他很多配置类(默认是不开启的
当导入其他相应的缓存场景即可自动开启对应的缓存配置
一、配置
首先 如果机器上还没装Redis 可使用Docker安装Redis
# 拉取最新redis镜像
docker pull docker.mirrors.ustc.edu.cn/library/redis
#启动redis容器
docker run -d -p 6379:6379 --name redis1 docker.mirrors.ustc.edu.cn/library/redis
当然自己安装Redis然后配置也可
然后 在项目中引入redis的starter(启动器):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
然后在配置文件中配置Redis的主机ip:
spring.redis.host=111.111.111.111(主机ip)
当引入了Redis的starter(启动器)之后 RedisAutoConfiguration这个配置类就启动了
底层配置了RedisTemplate和StringRedisTemplate 这两个Template类是用于操作Redis的 就类似于JDBC的JdbcTemplate
若要使用 只需注入即可
StringRedisTemplate 顾名思义 是操作字符串的
而RedisTemplate是用来操作对象的
二、使用
Redis常用五大数据类型:String字符串 List列表 Set集合 Hash散列 ZSet有序集合
Template都有对应的方法
stringRedisTemplate.opsForValue()
:操作k-v字符串
stringRedisTemplate.opsForList()
:操作列表
stringRedisTemplate.opsForSet()
:操作集合
stringRedisTemplate.opsForHash()
:操作散列
stringRedisTemplate.opsForZSet()
:操作有序集合
redisTemplate里也有这些方法
1、字符串操作
// 添加key-value
stringRedisTemplate.opsForValue().append