废话不多说, 直接上代码
需要引入的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