美文网首页
Redis 乐观锁实现

Redis 乐观锁实现

作者: 邱皮皮 | 来源:发表于2021-02-04 18:05 被阅读0次

    应用场景

    • 高并发,秒杀场景

    步骤

    1. set key = 0
    2. watch key
    3. 开启事务 multi
    4. set key + 1
    5. 事务操作

    代码实现

    $redis = new Redis("127.0.0.1", 6739);
    $key = "incr_key";
    $redis->set($key, 0);
    
    $redis->watch($key);
    $value = (int) $redis->get($key);
    if ($value < 100) {
      $redis->multi();
      $redis->incr($key);
      $res = $redis->exec();
      if ($res) {
        echo "success";
      } else {
        echo "error";
      }
    }
    

    相关文章

      网友评论

          本文标题:Redis 乐观锁实现

          本文链接:https://www.haomeiwen.com/subject/zwabtltx.html