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    #最小空闲数
相关推荐
苦逼的猿宝几秒前
高校心理教育辅导设计与实现
java·毕业设计·springboot·计算机毕业设计
SunnyDays101110 分钟前
Java 实现插入和删除 Excel 行和列
java·python·excel
历程里程碑16 分钟前
56 . 高效ET非阻塞IO服务器设计指南
java·运维·服务器·开发语言·数据结构·c++·排序算法
@SmartSi19 分钟前
AgentScope Java 入门:如何使用 DashScopeChatModel 集成百练模型
java·agentscope
爱编程的小新☆22 分钟前
JAVA实现Manus智能体
java·react·cot·智能体·spring ai·manus·agent loop
zb2006412022 分钟前
Laravel5.x核心特性全解析
android·spring boot·php·laravel
用户37215742613526 分钟前
Java 如何插入和删除 Excel 行和列
java
@SmartSi28 分钟前
AgentScope Java 入门:如何使用 OpenAIChatModel 集成兼容 OpenAI 协议模型
java·agentscope
就叫_这个吧37 分钟前
Java线程池应用的四种方式+线程池底层实现原理
java·开发语言