数据库
首页 > 数据库> > SpringBoot集成Redis-Jedis

SpringBoot集成Redis-Jedis

作者:互联网

废话不多说, 直接上代码

需要引入的pom依赖就不多说了, 无非jedis和redis相关的.

yml中关于redis的配置文件

spring:
    # redis配置
  redis:
    # redis数据库索引(默认为0)
    database: 1
    host: localhost
    port: 111
    # redis访问密码(默认为空, 如果没有密码, 这里的password整行不需配置)
    password: bnsbdlredis
    # redis连接超时时间(单位毫秒)
    timeout: 10000
    ssl: false
    jedis:
      pool:
        # 最小空闲连接数(默认为0,该值只有为正数才有用)
        min-idle: 5
        # 最大空闲连接数(默认为8,负数表示无限)
        max-idle: 10
        # 从连接池中获取连接最大等待时间(默认为-1,单位为毫秒,负数表示无限)
        max-wait: 10000
        # 最大可用连接数(默认为8,负数表示无限)
        max-active: 20

JedisPoolConfig

/**
 * @author jiangkd
 * @date 2021/4/25 9:13
 */
@Configuration
@Slf4j
public class JedisPoolConfig {

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

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

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

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

    @Value("${spring.redis.timeout}")
    Integer timeout;

    @Value("${spring.redis.ssl}")
    boolean ssl;

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

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

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

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


    @Bean
    public JedisPool jedisPool() {
        //
        final redis.clients.jedis.JedisPoolConfig jedisPoolConfig = new redis.clients.jedis.JedisPoolConfig();
        jedisPoolConfig.setMinIdle(minIdle);
        jedisPoolConfig.setMaxIdle(maxIdle);
        jedisPoolConfig.setMaxWaitMillis(maxWait);
        jedisPoolConfig.setMaxTotal(maxActive);
        // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
        jedisPoolConfig.setBlockWhenExhausted(true);
        // 是否启用pool的jmx管理功能, 默认true
        jedisPoolConfig.setJmxEnabled(true);
        jedisPoolConfig.setTestOnBorrow(true);

        final JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password, database, ssl);
//        final JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, database, ssl);

        log.info("JedisPool初始化完成 ... {}", jedisPool.toString());

        return jedisPool;
    }
}

使用:

final Jedis jedis = jedisPool.getResource();
// 然后就是jedis的方法, 来操作redis

 

标签:SpringBoot,redis,Redis,Value,JedisPool,Jedis,spring,jedis,jedisPoolConfig
来源: https://www.cnblogs.com/no-celery/p/14699605.html