Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。
1.关键点和注意事项
分布式锁实现的关键是在分布式的应用服务器外,搭建一个存储服务器,存储锁信息,这时候我们很容易就想到了Redis。首先我们要搭建一个Redis服务器,用Redis服务器来存储锁信息。
在实现的时候要注意的几个关键点:
(1)锁信息必须是会过期超时的,不能让一个线程长期占有一个锁而导致死锁;
(2)同一时刻只能有一个线程获取到锁。
2.Redis 分布式锁流程图