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

 

上一篇:毕业设计 - 题目:基于 STM32 的自动泊车系统 -智能小车 自动停车


下一篇:【Redis】主从复制以及代码实现,哨兵模式,反客为主,薪火相传,复制原理,一主二仆