跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

SpringBoot 强制使用 Jedis 替代默认 Lettuce 客户端的配置方案

SpringBoot 默认使用 Lettuce 作为 Redis 客户端,通过引入 Jedis 依赖并自定义 RedisConnectionFactory Bean,可强制切换为 Jedis。配置文件中需指定 pool 参数,如最大连接数、等待时间等。测试时可通过查看 RedisTemplate 的连接工厂类型验证是否生效。

灭霸发布于 2025/2/3更新于 2026/6/1021 浏览
SpringBoot 强制使用 Jedis 替代默认 Lettuce 客户端的配置方案

SpringBoot 2.x 之后,默认采用 Lettuce 作为 Redis 的连接客户端。当然,我们依然可以强制切换回熟悉的 Jedis。下面介绍具体的配置步骤。

基本配置

1. 依赖管理

与 Lettuce 不同,使用 Jedis 需要额外引入 Jedis 包及其依赖池。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
    </dependency>
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>
</dependencies>

2. 配置文件

Redis 的基础配置大同小异,区别主要在于线程池参数的设置。在 application.yml 中添加如下配置:

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password:
    database: 0
    jedis:
      pool:
        max-idle: 6
        max-active: 32
        max-wait: 100
        min-idle: 4

3. 自定义连接工厂

核心在于定义一个 RedisConnectionFactory 的 Bean,以此覆盖默认配置,确保底层连接使用的是 Jedis 客户端。

@Configuration
public class RedisAutoConfig {
    @Bean
    public RedisConnectionFactory redisConnectionFactory(JedisPoolConfig jedisPool, RedisStandaloneConfiguration jedisConfig) {
        JedisConnectionFactory connectionFactory = new JedisConnectionFactory(jedisConfig);
        connectionFactory.setPoolConfig(jedisPool);
        return connectionFactory;
    }

    @Configuration
    public static class JedisConf {
        @Value("${spring.redis.host:127.0.0.1}")
        private String host;

        @Value("${spring.redis.port:6379}")
        private Integer port;

        @Value("${spring.redis.password:}")
        private String password;

        @Value("${spring.redis.database:0}")
        private Integer database;

        @Value("${spring.redis.jedis.pool.max-active:8}")
        private Integer maxActive;

        @Value("${spring.redis.jedis.pool.max-idle:8}")
        private Integer maxIdle;

        @Value("${spring.redis.jedis.pool.max-wait:-1}")
        private Long maxWait;

        @Value("${spring.redis.jedis.pool.min-idle:0}")
        private Integer minIdle;

        @Bean
        public JedisPoolConfig jedisPool() {
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            jedisPoolConfig.setMaxIdle(maxIdle);
            jedisPoolConfig.setMaxWaitMillis(maxWait);
            jedisPoolConfig.setMaxTotal(maxActive);
            jedisPoolConfig.setMinIdle(minIdle);
            return jedisPoolConfig;
        }

        @Bean
        public RedisStandaloneConfiguration jedisConfig() {
            RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
            config.setHostName(host);
            config.setPort(port);
            config.setDatabase(database);
            config.setPassword(RedisPassword.of(password));
            return config;
        }
    }
}

4. 验证结果

测试时,只需检查 RedisTemplate 实际使用的连接工厂类是否为 JedisConnectionFactory 即可。如果配置正确,运行时日志或调试信息会显示底层的连接实现已切换。

目录

  1. 基本配置
  2. 1. 依赖管理
  3. 2. 配置文件
  4. 3. 自定义连接工厂
  5. 4. 验证结果
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Llama 3.1 开源模型快速部署指南
  • Linux 多线程:深入互斥与同步机制
  • 基于腾讯云轻量应用服务器部署 OpenClaw 并接入 QQ 与飞书机器人
  • 使用 Trae 工具安装与配置 Claude Code 实战
  • C++ unordered_set/map 底层封装与模拟实现
  • 英伟达开源 DreamDojo:4.4 万小时数据破解机器人数据鸿沟
  • GitHub 个人访问令牌(PAT)配置与 Workflow 权限问题解决
  • 营销团队 AIGC 内容流水线搭建实录:Meixiong Niannian 引擎实践
  • 大厂 Android 开发面试真题与核心知识点汇总
  • 开源多情感 TTS 结合 WebUI 低成本构建企业客服系统
  • MySQL 事务隔离级别与一致性详解
  • 深入解析 WebView 的概念、功能、应用场景与优劣势
  • 小米智能家居集成升级与配置指南:解决连接问题实战方案
  • 寻找数组中心下标与除自身以外数组的乘积 - 前缀和技巧
  • 基于 AI 生成 Windows 18-HD19 风格 CSS 组件库实战
  • 基于 Docker 部署 Nginx 并通过内网穿透实现远程访问
  • TinyWebServer 源码解析:HTTP 机制与高性能设计
  • Linux 库制作与原理:从生成使用到 ELF 文件与链接解析
  • OpenClaw + Ollama 双系统部署教程(Windows/Linux)
  • 基于 AIGC 的汽车定速巡航 PID 参数调优可视化实践

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online