JedisPool代码示例
时间: 2024-11-23 14:20:53 浏览: 16
JedisPool是Redis客户端连接池,用于管理和复用到Redis服务器的连接,避免频繁创建和销毁连接带来的性能损耗。下面是一个简单的JedisPool的代码示例,使用Spring Boot和lettuce库:
```java
import io.lettuce.core.RedisClient;
import io.lettuce.core.pool.PoolConfig;
import io.lettuce.core.resource.ClientResources;
@Configuration
public class RedisConfig {
@Value("${redis.host}")
private String host;
@Value("${redis.port}")
private int port;
@Bean
public JedisConnectionFactory jedisConnectionFactory() {
PoolConfig poolConfig = new PoolConfig();
poolConfig.setMaxTotal(50); // 最大连接数
poolConfig.setMinIdle(10); // 最小空闲连接数
return new JedisConnectionFactory(new RedisURI(host + ":" + port), poolConfig);
}
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
template.setKeySerializer(StringRedisSerializer.class);
template.setValueSerializer(JdkSerializationRedisSerializer.class);
template.afterPropertiesSet();
return template;
}
@Bean
public ClientResources clientResources(RedisConnectionFactory factory) {
return new LettuceClientResources(factory);
}
}
```
在这个例子中,`jedisConnectionFactory`配置了连接池的基本属性,然后`redisTemplate`设置了Redis的操作模板,并关联了连接工厂。`clientResources`则是Lettuce提供的资源管理工具,便于操作和关闭。
阅读全文