分布式缓存服务 DCS-Redis连接失败问题排查和解决:客户端连接问题

时间:2023-11-01 16:16:57

客户端连接问题

  • 在使用Redis-cli连接Cluster集群时,连接失败。
    解决方法:请检查连接命令是否加上-c,在连接Cluster集群节点时务必使用正确连接命令。
    • Cluster集群连接命令:

      ./redis-cli -h {dcs_instance_address} -p 6379 -a {password} -c

    • 单机、主备、Proxy集群连接命令:

      ./redis-cli -h {dcs_instance_address} -p 6379 -a {password}

    具体连接操作,请参考Redis-cli连接

  • 出现Read timed out或Could not get a resource from the pool。

    解决方法:

    • 排查是否使用了keys命令,keys命令会消耗大量资源,造成Redis阻塞。建议使用scan命令替代,且避免频繁执行。
    • 排查实例是否是Redis 3.0,Redis 3.0底层用的是sata盘,当Redis数据持久化即AOF时,会触发偶现的磁盘性能问题,导致连接异常,可更换Redis实例为4.0及以上版本,其底层是ssd盘,磁盘性能更高,或若不需要持久化可关闭AOF。
  • 出现unexpected end of stream错误,导致业务异常。

    解决方法:

  • 连接断开。

    解决方法:

    • 调整应用超时时间。
    • 优化业务,避免出现慢查询。
    • 建议使用scan命令替代keys命令。
  • Jedis连接池问题,请参考使用Jedis连接池报错如何处理?
support.huaweicloud.com/dcs_faq/dcs-faq-0427014.html