spring boot框架中已经集成了redis,在1.x.x的版本时默认使用的jedis客户端,现在是2.x.x版本默认使用的lettuce客户端,两种客户端的区别如下
# Jedis和Lettuce都是Redis Client
# Jedis 是直连模式,在多个线程间共享一个 Jedis 实例时是线程不安全的,
# 如果想要在多线程环境下使用 Jedis,需要使用连接池,
# 每个线程都去拿自己的 Jedis 实例,当连接数量增多时,物理连接成本就较高了。
# Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,
# 所以,一个多线程的应用可以使用同一个连接实例,而不用担心并发线程的数量。
# 当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
# 通过异步的方式可以让我们更好的利用系统资源,而不用浪费线程等待网络或磁盘I/O。
# Lettuce 是基于 netty 的,netty 是一个多线程、事件驱动的 I/O 框架,
# 所以 Lettuce 可以帮助我们充分利用异步的优势。 由于我的项目是spring boot 2.0.4的,所以我是用lettuce来配置,在我的这个文章里面和其他文章不一样的地方是,其他文章直接把cache操作类放在跟spring boot同一个模块中
而实际开发时,这种缓存类都是独立放在common模块中的,所以Autowired就失效了,使用其他方式进行注入
spring boot 集成 redis lettuce
最新推荐文章于 2025-06-12 17:57:02 发布