spring cache,Spring data redis

时间:2024-09-30 07:17:13

本项目使用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。