predis执行命令流程图分析

1 流程图

在这里插入图片描述

2 主或者从发送异常不可连接后的场景

2.1 一个redis主不可以用了

2.2.1 key落在这个主

情况1:第一次随机猜节点,刚好命中这个坏的主节点(172.1.9.101:6507)

  1. 根据命令中的key获取连slot,判断slot在SlotsMap对应的连接是否存在,存在直接返回,如果不存在随机猜一个。

2)如果第一步步骤中拿到的节点,刚好命中这个坏的主节点(172.1.9.101:6507),尝试和error_master_node建立连接,超时连接异常。(第一次和172.1.9.101:6507连接超时)

2)catch捕捉到第1步骤的ConnectionException异常。

3)即将172.1.9.101:6507从连接pool中remove掉。

4)判断$failure == true,如果为真直接抛出ConnectionException异常结束。

5)如果$failure = false,从pool中(还剩五个),随机处理一个连接地址(172.1.9.101:6509),建立连接,执行cluster slots配置SlotsMap,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值