redis锁

2021/6/22 20:06:45

本文主要是介绍redis锁,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/**
 * redis锁
 * $mkey string 键值
 * $second string 秒,锁定多少秒,-1时销毁
 * return bool
 */
function redisLook($mkey = '',$second = 5){
    $cache = \think\facade\Cache::init();
    $_redis = $cache->handler();
    if ($second == -1){
        return $_redis->del($mkey);
    }
    $lock_time = $_redis->setnx($mkey,time()+$second);
    if ($lock_time == false){
        $lock_time = $_redis->get($mkey);
        if(time()>$lock_time){
            $_redis->del($mkey);
            $lock_time = $_redis->setnx($mkey,time()+$second);
            if ($lock_time == false) return false;
        }else{
            return false;
        }
    }
    return true;
}

 



这篇关于redis锁的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程