摘要 分布式锁在很多应用场景下是非常有效的手段,比如当运行在多个机器上的不同进程需要访问同一个竞争资源的时候,那么会涉及到进程对资源的加锁和释放,这样才能保证数据的安全访问。分布式锁实现的方案有很多,比如基于ZooKeeper实现、或者基于Mysql实现等等,我们来一起看看如何基于Redis实现分布式锁服务。 分布式锁要点 对于分布式锁的目标,我们必须首先明确三点: 1、任何一个时间点必须只能够有一个客户端拥有锁。 2、不能够有死锁,也是终客户端都能够获得锁,尽管可能会经历失败。 3、错误容忍性要好,只要有大部分的Redis实例存活,客户端应该能够获得锁。