java中常用的技术方案:分布式锁

来源:互联网 发布:淘宝拍照用什么镜头 编辑:程序博客网 时间:2024/06/05 00:08

1.有人可能会问是否可以考虑采用ReentrantLock来实现,但是实际上去实现的时候是有问题的,ReentrantLock的lock和unlock要求必须是在同一线程进行,而分布式应用中,lock和unlock是两次不相关的请求,因此肯定不是同一线程,因此导致无法使用ReentrantLock。


2. 基于数据库表做乐观锁,用于分布式锁。


3. 使用memcached的add()方法,用于分布式锁。


4. 使用memcached的cas()方法,用于分布式锁。(不常用)


5. 使用redis的setnx()、expire()方法,用于分布式锁。


6. 使用redis的setnx()、get()、getset()方法,用于分布式锁。


7. 使用redis的watch、multi、exec命令,用于分布式锁。(不常用)


8. 使用zookeeper,用于分布式锁。(不常用)


原创粉丝点击