标签归档:redis

基于redis实现可靠的分布式锁

什么是锁

今天要谈的是如何在分布式环境下实现一个全局锁,在开始之前先说说非分布式下的锁:

  • 单机 – 单进程程序使用互斥锁mutex,解决多个线程之间的同步问题
  • 单机 – 多进程程序使用信号量sem,解决多个进程之间的同步问题

这里同步的意思很简单:某个运行者,用某个工具,保障某段代码,独占的运行,直到释放。

分布式锁解决的是 多台机器 – 多个进程 之间的同步问题,因为不同的机器之间mutex/sem无法使用。不过要注意:即便如此,一个进程内多个线程之间仍旧建议使用mutex同步,尽量减少对分布式锁服务造成不必要的负担。 继续阅读