SpringBoot 整合redis

1、添加项目依赖

java 复制代码
 <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

2、单实例连接

java 复制代码
 //Jedis单机测试
    @Test
    public void testJedisSingle() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.set("str", "单机测试Jedis");
        String str = jedis.get("str");
        System.out.println(str);
        jedis.close();
    }

3、使用连接池连接

java 复制代码
 //Jedis连接池测试
    @Test
    public void testJedisPool() {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        //最大连接数
        jedisPoolConfig.setMaxTotal(30);
        //最大连接空闲数
        jedisPoolConfig.setMaxIdle(2);
        JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
        Jedis resourceJedis = jedisPool.getResource();
        resourceJedis.set("str", "Jedis连接池测试");
        String str = resourceJedis.get("str");
        System.out.println(str);
        resourceJedis.close();
    }

4、编写JedisConfig 配置

java 复制代码
package com.yy.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

@Configuration
public class JedisConfig {

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

    @Value("${spring.redis.port}")
    private int port;

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

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

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

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

    @Bean
    public JedisPool jedisPool(JedisPoolConfig jedisPoolConfig){
        return new JedisPool(jedisPoolConfig,host,port);
    }

}

5、application.yml 配置文件

java 复制代码
spring:
  redis:
    host: localhost
    port: 6379
    jedis:
      pool:
        max-idle: 6    #最大空闲数
        max-active: 10 #最大连接数
        min-idle: 2    #最小空闲数
相关推荐
程序员小八77735 分钟前
上海百度B端java后端日常实习一面
java·开发语言
lv__pf2 小时前
redis【msb 2026金三银四redis上】
数据库·redis·缓存
mldong2 小时前
零依赖的秘密:8 大 SPI 设计
java·架构
Diligently_4 小时前
Anolis 系统更新与密码设置&磁盘扩容
java·后端·spring
mqiqe4 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
我命由我123454 小时前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
正在走向自律4 小时前
飞算JavaAI能搞定充电站故障处置吗?
java·ai编程·java开发·飞算javaai·java代码生成·ai coding模型·springboo
用户40966601317514 小时前
Guava 不止有 Lists 和 Maps:Cache、EventBus、Multimap 实战
java·后端
spter。5 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap