Redis Java 客户端选型与 SpringBoot 集成实战
概述
Redis 支持多语言客户端,不同语言通过对应库与服务端交互。在 Java 生态中,核心选型主要集中在 Jedis、Lettuce 和 Redisson 三者。
| 架构层 | 具体实现 |
|---|---|
| 用户 | Java/SpringBoot 业务代码 |
| Client 层 | Jedis / Lettuce / Redisson |
| 引擎层 | Redis 服务端 (redis-server) |
- 官方推荐:基础操作选 Jedis 或 Lettuce;高级功能(如分布式锁)选 Redisson。
- 企业现状:早期项目多用 Jedis;SpringBoot 2.x+ 主流为 Lettuce(默认集成,支持异步/响应式);复杂分布式场景用 Redisson。
- 核心差异:Jedis 单线程非线程安全,需连接池;Lettuce 基于 Netty,天生线程安全,支持多线程共享连接。
Spring 项目中集成 Jedis
在传统 Spring 项目中,若使用 Jedis 连接 Redis,需注意以下两点:
- 依赖引入:需同时引入
jedis和commons-pool包。 - 连接方式:
- 单实例:直接创建 Jedis 对象,每次请求新建连接,性能差,不推荐。
- 连接池:通过
JedisPool管理连接,复用资源。配置JedisPoolConfig设置最大连接数、空闲数等参数。
SpringBoot 默认集成 Lettuce
SpringBoot 对 Redis 做了深度封装,比传统 Spring 更简洁,默认集成 Lettuce 客户端。
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置文件
在 application.yml 或 properties 中指定服务端信息。默认使用 Lettuce,也可切换为 Jedis。
spring:
redis:


