spring cache,Spring data redis
本项目使用Redis存储缓存数据,如何通过Java去访问Redis?
常用的有Jedis和Lettuce两个访问redis的客户端类库 ,Jedis和Lettuce都是redis提供的。其中Lettuce的性能和并发性要好一些,Spring Boot 默认使用的是 Lettuce 作为 Redis 的客户端。
Spring data redis框架,在项目中可以通过RedisTemplate访问Redis,RedisTemplate提供了方便访问redis的模板方法。
RedisTemplate和Lettuce 是什么关系?
RedisTemplate
进行 Redis 操作时,实际上是通过 Lettuce
客户端与 Redis 服务器进行通信。
本项目也集成了Spring Cache,Spring Cache是spring的缓存框架,可以集成各种缓存中间件,比如:EhCache、Caffeine、redis。
Spring Cache最终也是通过Lettuce 去访问redis 。只能存string类型
使用Spring Cache的方法很简单,只需要在方法上添加注解即可实现将方法返回数据存入缓存,以及清理缓存等注解的使用。
RedisTemplate适用于灵活操作redis的场景,通过RedisTemplate的API灵活访问Redis。
这两种访问 redis的方法在本项目都有使用。
总结
- redis是一个缓存的服务端,Jedis和Lettuce两个访问redis的客户端库,以前springboot 常用的客户端是 jedis 现在一般都是 Lettuce.
- spring data 是用来访问数据的,spring data redis 是专门用来访问redis的框架,在spring data redis中RedisTemplate访问Redis,RedisTemplate提供了方便访问redis的模板方法。
- spring cache 是用来操作缓存的框架,通过使用注解操作,可以集成各种缓存中间件,比如:EhCache、Caffeine、redis。