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

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

本帖已被设为精华帖!
本帖由系统于 6年前 自动加精
农村闲散劳动力
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7
农村闲散劳动力

@qloog 感谢您的鼓励!

6年前 评论

关注一波走起!

6年前 评论

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

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

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

Laravel

4年前 评论

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

2年前 评论

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