phpredis最简洁的分段加锁

phpredis最简洁的分段加锁

 

    $kucun = 20;
        $key   = '11';
        // 进行分段
        if ($kucun <= 5) {
            $islock = \RedisClient::lock($key, 5);
            // 不需要分段了
        } else {
            // 设置每段库存为4 
            $kucunduan=ceil($kucun/4);
            // 然后给每段库存加锁
            // 这里取随机数抢锁吧 方便
            $suijisuo=rand(1,$kucunduan);
            $islock = \RedisClient::lock($key.$suijisuo, 5);
            if(!$islock){
                 $this->commonajax1(434);
            }
            echo $key.$suijisuo.'抢到锁';
            $islock = \RedisClient::unlock($key.$suijisuo, 5);
        }

 

posted @ 2020-12-28 21:50  newmiracle宇宙  阅读(263)  评论(0编辑  收藏  举报