发布于: 2022-06-29 11:43:43
$predis = new Predis\Client( [
    'scheme' => 'tcp' ,
    'host'   => '127.0.0.1' ,
    'port'   => 6379
] );
$predis->connect();
$predis->auth( "redis_password" );          // 密码验证
$predis->select( $dbIndex );          // 选择所使用的数据库, 默认有16个 redis集群选择0

$is_lock = $predis->exists( $lock_key );
//锁存在
if( $is_lock ) {
    //返回系统繁忙等错误提示
    return false;
}

try {
    $predis->set( $lock_key , 1 , 'EX' , 3 , 'NX' ); // 加锁,持续3秒
    //执行业务代码
    $predis->del( $lock_key );//解锁
    return true;
}
catch( Exception $e ) {
    $predis->del( $lock_key );//发生异常也解锁
}



延伸阅读
    发表评论