1. 2.1.2 使用连接池JedisPool
Jedis连接池基于apache-commons pool2实现。
使用连接池流程也不复杂,如下示例:
public class JedisPoolStartApp {
public static final Logger LOGGER = LoggerFactory.getLogger(JedisPoolStartApp.class);
public static void main(String[] args) {
// 1. 创建连接池配置对象
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(8);
jedisPoolConfig.setMaxIdle(8);
// 2. 创建连接池对象
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379);
// 3. 从连接池中获取一个Jedis对象
Jedis jedis = jedisPool.getResource();
// 4. 使用与Redis命令相应的Jedis方法操作Redis
Set<String> keys = jedis.keys("*");
for (String key : keys) {
LOGGER.info("key:{} value:{}", key, jedis.get(key));
}
// 5. 把连接归还到连接池
jedis.close();
// 6. 释放连接池对象
jedisPool.close();
}
}
整个过程分几个步骤:
- 创建连接池配置
JedisPollConfig
对象 - 创建连接池对象JedisPool
- 从连接池中获取一个Jedis对象
- 使用与Redis命令相应的Jedis方法操作Redis
- 把连接对象归还到连接池
- 关闭连接池