tinywan/redis-lock 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱: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
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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