Jedis 3.x 怎么做多数据源
时间: 2024-03-22 11:41:00 浏览: 84
jedis2.x使用指南.pdf
在 Jedis 3.x 中,可以通过创建多个 JedisPool 来实现多数据源的连接。具体步骤如下:
1. 创建多个 JedisPoolConfig,每个 JedisPoolConfig 对应一个数据源的连接池配置。
```
// 数据源1的连接池配置
JedisPoolConfig poolConfig1 = new JedisPoolConfig();
poolConfig1.setMaxTotal(10);
poolConfig1.setMaxIdle(5);
poolConfig1.setMinIdle(1);
poolConfig1.setMaxWaitMillis(3000);
// 数据源2的连接池配置
JedisPoolConfig poolConfig2 = new JedisPoolConfig();
poolConfig2.setMaxTotal(20);
poolConfig2.setMaxIdle(10);
poolConfig2.setMinIdle(2);
poolConfig2.setMaxWaitMillis(5000);
```
2. 创建多个 JedisPool,每个 JedisPool 对应一个数据源的连接池。
```
// 数据源1的连接池
JedisPool jedisPool1 = new JedisPool(poolConfig1, "localhost", 6379);
// 数据源2的连接池
JedisPool jedisPool2 = new JedisPool(poolConfig2, "localhost", 6380);
```
3. 在需要访问不同数据源的地方,获取对应的 JedisPool 连接池并获取 Jedis 实例进行操作。
```
// 访问数据源1
try (Jedis jedis = jedisPool1.getResource()) {
jedis.set("key1", "value1");
}
// 访问数据源2
try (Jedis jedis = jedisPool2.getResource()) {
jedis.set("key2", "value2");
}
```
需要注意的是,每个 JedisPool 都需要单独关闭,可以在程序退出时或者使用 try-with-resources 语句来关闭。同时,不同的数据源可以使用不同的 JedisPoolConfig 进行配置,以满足不同的性能和稳定性需求。
阅读全文