package com.imutil.common; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * Redis 连接池配置 *
* 读取 app.yml 的 imutil.redis.* 配置,构建 JedisPool 注册为 Solon Bean。
* 用于限流令牌桶、映射/授权缓存、补拉水位线等高频读写场景。
*
* @author imutil
*/
@Configuration
public class RedisConfig {
@Inject("${imutil.redis.host:localhost}")
private String host;
@Inject("${imutil.redis.port:6379}")
private int port;
@Inject("${imutil.redis.password:}")
private String password;
@Inject("${imutil.redis.database:0}")
private int database;
@Inject("${imutil.redis.timeout:2000}")
private int soTimeout;
@Inject("${imutil.redis.connectTimeout:2000}")
private int connectTimeout;
/**
* 构建 Jedis 连接池
*/
@Bean
public JedisPool jedisPool() {
GenericObjectPoolConfig