高性能, 分布式, 并发抢占锁, 队列锁

分享链接:https://github.com/zhaocong6/lock
支持php进程锁, mysql数据并发锁等等.
也可以用于限制接口并发量
优点: 使用redis驱动, 性能优秀, 分布式
功能: 队列锁(非php轮询,使用redis通知等待,极大的降低了cpu使用率), 抢占锁
已在线上项目运行超过一个月, 日用户10万
如果对您有帮助,请帮我点个星.鼓励一下~~~

本帖已被设为精华帖!
本帖由系统于 5年前 自动加精
农村闲散劳动力
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
农村闲散劳动力

@qloog 感谢您的鼓励!

5年前 评论

关注一波走起!

5年前 评论

src/Lock/Redis/Lock.php 方法queueLock
file
initQueueLockList 初始化队列锁,有效期默认6秒
file
addQueueLockList 执行闭包后,应该是释放锁的,代码上仍旧往锁填充数据,有效期默认6秒
file

感觉队列锁的初始化和新增等待队列的做法不是很理解,希望说明一下其中的原理,谢谢.

另外多参数抢占锁 locks 方法(代码位置:src/Lock/Redis/Lock.php)写的有点啰嗦,看上去是模仿 Laravel 的中间件嵌套的写法。我觉得可以简写成

Laravel

3年前 评论

file问下 有人遇到过这个么?阿里云的集群Redis出了这个,加了{}也不行

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!