欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分布式锁

程序员文章站 2022-03-05 09:54:41
...

分布式锁的实现
锁是用来解决什么问题的:synchronized、lock
多进程的架构:
1.资源共享竞争问题
2.数据的安全性

分布式锁的解决方案
1.怎么去获取锁
数据库
lock{
id int(11)
methodName varchar(100)
memo varchar(1000)
modifyTime timestamp
unique key mn(method) --唯一约束
}
try{
exec
insert into lock (methodName, memo) values (‘method’, ‘desc’);
return true;
}catch(DuplicationException e){
return false
}

delete  释放锁
非重入锁
这是悲观锁

zookeeper
/locker
client A seq
client B seq
client C seq
最小的节点获得锁,其它等待
watch机制

redis
setnx命令

2.怎么释放锁

redis性能关于多路复用机制
lua语言
lua语言在redis中的应用

相关标签: redis