489461561

装饰器+inspect的python入参检验

  返回  

分布式锁的三种实现方式

2021/7/20 23:59:26 浏览:

github:https://github.com/Linging24/lock.git

1、基于数据实现

  • 创建数据库锁表:
CREATE TABLE `lock_record` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `lock_name` varchar(50) DEFAULT NULL COMMENT '锁名称',
  PRIMARY KEY (`id`),
  UNIQUE KEY `lock_name` (`lock_name`)
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;

思路:当一个线程进入共享代码时,向数据库插入一条记录,当分布式其他节点线程要访问该共享代码时,会先查询数据库是否存在这样一条锁记录,如果存在则等待锁,否则就获取锁,执行共享代码。

2、基于redis实现
3、基于zookpeer实现

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号