客户端报错:Could not get a resource from the pool

客户端报错:Could not get a resource from the pool

1. 原因&解决方案

  • 并发确实太高,链接池配置参数不合理

    解决方案:调整配置参数;扩容节点

  • Redis执行队列被大量操作或者耗时操作占用

    解决方案:优化慢操作;禁止慢操作

  • 存在热key

    解决方案:拆分key,分散压力到各个redis节点;增加本地内存,先查本地内存,查不到再去redis

  • 某个节点链接池耗尽

    解决方案:解决数据倾斜问题

  • 执行耗时命令导致ping超时

    解决方案:禁用耗时命令,如:keys *;优化耗时操作

  • 低版本的Jedis包存在bug

    解决方案:升级Jedis版本

2. 热key场景梳理

问题01:

某个区域Ip访问频繁

解决:

增加应用本地缓存,lru维护一定数量的热IP

问题02:

频繁查询某个大Zset集合

解决:

按业务维度进行key拆分;按数据号段进行拆分

3. 某个节点链接池耗尽场景梳理

hashtag滥用引发的血案

客户端报错:Could not get a resource from the pool_第1张图片

你可能感兴趣的:(Java,java,redis,性能优化)