ar414/redis-lock

Redis 悲观锁使用 redis 键:setnx, get, getset, del

v1.0.0 2020-03-26 07:24 UTC

This package is auto-updated.

Last update: 2024-09-26 18:13:54 UTC


README

PHP 使用 Redis 悲观锁使用 redis 键:setnx, get, getset, del

安装

composer require ar414/redis-lock

使用

创建新实例

use Ar414\RedisLock;

$redis = new \Redis();
$redis->connect('127.0.0.1','6379');

$lockTimeOut = 5;
$redisLock = new RedisLock($redis,$lockTimeOut);

获取锁

$lockKey = 'lock:user:wallet:uid:1001';
$lockExpire = $redisLock->getLock($lockKey);
if(!$lockExpire || $lockExpire < time()){
    throw new \Exception('Busy Lock');
}
//TODO:Business logic

释放锁

$redisLock->releaseLock($lockKey,$lockExpire);