在 RedLock 中添加多个锁对象是为了提高分布式锁的可靠性和安全性。具体来说,通过在不同的 Redis 节点上部署不同的锁对象,可以避免单点故障和网络分区等问题,从而提高了 RedLock 的可靠性和安全性。
假设我们只使用一个锁对象来实现分布式锁,那么当该 Redis 节点发生故障或网络分区时,就会导致分布式锁失效,从而可能导致数据不一致或并发问题。而通过在多个 Redis 节点上部署不同的锁对象,可以避免这种情况的发生,因为只有当所有锁对象都被成功获取时,才能获得分布式锁。
在上面的示例中,我们使用了三个锁对象 `lock1`、`lock2` 和 `lock3`,并将它们分别部署在不同的 Redis 节点上。这样可以避免单点故障和网络分区等问题,从而提高了 RedLock 的可靠性和安全性。当然,在实际应用中,我们需要根据具体的业务需求和系统架构来选择合适的锁对象数量和部署方式。