定制 tinywan/redis-lock 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tinywan/redis-lock

Composer 安装命令:

composer require tinywan/redis-lock

包简介

Redis locks in PHP for build composer packagist

README 文档

README

composer require tinywan/redis-lock

使用

生成令牌

$redis = new Redis();
$redis->connect('127.0.0.1');
$redis->auth('123456');

$lock = new \tinywan\RedisLock($redis);

// 全局唯一标识符
$orderSn = md5(uniqid());
// 检查是否重复投递消息
if ($lock->isRepeatedDeliver($orderSn)) {
    var_dump('消息幂等投注失败');
}

// 开始投递消息
$execResult = $lock->startDeliver($orderSn);
if (false === $execResult) {
    var_dump('消息幂等投注失败, 重复投递消息,直接返回 ');
}

try {
    // 根据业务唯一标识的Key做幂等处理
    sleep(1);
} catch (\Exception $e) {
    var_dump('处理失败 ' . $e->getMessage());
} finally {
    //  使用完毕后删除
    $lock->deleteDeliver($orderSn);
}

var_dump('处理完成');

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-09-18