多线程环境下基于ConnectionPoolConfig的UnifiedJedis配置正确性咨询
UnifiedJedis连接池使用问题解答
你的配置是正确的
你无需手动处理连接的获取与释放——JedisPooled(你实例化的这个UnifiedJedis实现类)会自动完成这件事。
具体说明
JedisPooled本身就是基于连接池实现的,它的所有方法(包括你用到的jsonSet、jsonGet)在执行时,会自动从连接池获取空闲连接,命令执行完成后自动将连接归还至池中,完全不需要你调用getResource这类方法。- 用单例模式管理
JedisPooled实例非常合理,连接池本身就是为多线程场景设计的,单例可以让多个处理器线程共享连接资源,避免反复创建、销毁连接带来的性能损耗。
补充建议
- 确保
init()方法仅在应用启动时执行一次,避免重复创建JedisPooled实例,否则会生成多个连接池,造成资源浪费。 - 应用关闭时,建议调用
jedisPooled.close()来优雅关闭连接池,释放所有底层连接。
内容的提问来源于stack exchange,提问作者Ve9
相关产品推荐
相关产品推荐

