链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

zhaocong6/lock:高性能分布式并发锁与行为限流

zhaocong6/lock是GitHub上的开源项目,主要提供高性能分布式并发锁和行为限流功能。项目基于PHP环境(PHP >= 7),依赖composer、支持lua的redis和predis。有多种锁机制如抢占锁、队列锁,还提供限流功能函数。包含多种使用示例,如抢占锁、多参...

访问官网 →

【Github】项目名:zhaocong6/lock:高性能分布式并发锁与行为限流

项目简介

这一项目是在GitHub上的一个开源项目,名为zhaocong6/lock。它主要提供高性能的分布式并发锁以及行为限流功能。该项目在PHP环境下运行(要求PHP >= 7),需要依赖composer、redis(必须支持lua)以及predis。它提供了多种锁机制,如抢占锁(包括单参数和多参数)、队列锁(同样包括单参数和多参数),并且有相应的函数来实现这些功能,还有限流功能的函数isActionAllowed。

项目使用示例

项目给出了多种使用示例,例如静态调用抢占锁:

$lock_val='user:pay:1';
Lock::lock(function($redis){echo'helloworld!';},$lock_val);

还有实例化调用:

$lock=newLock();
$lock_val='user:pay:1';
$lock->lock(function($redis){echo'helloworld!';},$lock_val);

多参数锁实例化调用示例:

$lock=newLock();
$lock_val[]='user:pay:1';
$lock_val[]='user:pay:2';
$lock->lock(function($redis){echo'helloworld!';},$lock_val);

限流函数使用示例:

isActionAllowed($key,$period,$max_count)

其中$key是限制key,$period是限制时间(秒),$max_count是限制时间内最大数量。项目还给出了config配置的示例,目前兼容tp框架,其他框架需要实例化传参。

项目总结

zhaocong6/lock项目为需要处理分布式并发锁和行为限流的开发者提供了一个实用的工具,在多进程并发场景下可以有效地进行资源控制和流量限制。希望大家对这个项目有更多的了解和研究,如果有任何问题或者建议,欢迎在评论区留言讨论。

项目地址

GitHub链接直达