美文网首页
redis实现秒杀功能

redis实现秒杀功能

作者: phper1021 | 来源:发表于2017-04-01 18:22 被阅读360次
  • 使用乐观锁的方式来实现秒杀功能
<?php
header("content-type:text/html;charset=utf-8");
$redis = new redis();
$result = $redis->connect('IP', PORT);
$mywatchkey = $redis->get("mywatchkey");
$rob_total = 100;   //抢购数量
if($mywatchkey<$rob_total){
    $redis->watch("mywatchkey");
    $redis->multi();
    
    //设置延迟,方便测试效果。
    sleep(5);
    //插入抢购数据
    $redis->hSet("mywatchlist","user_id_".mt_rand(1, 9999),time());
    $redis->set("mywatchkey",$mywatchkey+1);
    $rob_result = $redis->exec();
    if($rob_result){
        $mywatchlist = $redis->hGetAll("mywatchlist");
        echo "抢购成功!<br/>";
        echo "剩余数量:".($rob_total-$mywatchkey-1)."<br/>";
        echo "用户列表:<pre>";
        var_dump($mywatchlist);
    }else{
        echo "手气不好,再抢购!";exit;
    }
}
?>

相关文章

  • Redis-简易秒杀

    一、简易秒杀介绍   基于Spring Boot+MyBatis+Redis+MySQL实现简易秒杀功能,完整代码...

  • redis实现秒杀功能

    使用乐观锁的方式来实现秒杀功能

  • redis简单实现商品秒杀功能

    一.直接上代码(简单粗暴) 3.请多指教。。。

  • 分布式得实现

    分布式得实现文章redis分布式实现秒杀

  • redis lua脚本redis事务实现 商品秒杀活动案例

    redis lua脚本redis事务实现 商品秒杀活动案例 1. 前言 redis 利用单线程 IO多路复用 实现...

  • 秒杀系统之三:限时抢购/接口隐藏的实现(redis缓存)

    4.1 限时抢购的实现 使用Redis来记录秒杀商品的时间,对秒杀过期的请求进行拒绝处理!! 1. 启动redis...

  • redis实现秒杀

    1.环境准备 eclipse + redis 2.具体实现 需求:某公司实现秒杀环节,100部手机(具体东西,自己...

  • Redis 实现秒杀

    导语 秒杀想必大家都了解,在短时间内请求访问会激增,同时要保证不会超卖和数据的准确,对于技术方面还是有些考验的。可...

  • redis实现秒杀

    秒杀活动内容实现简单的秒杀页面(显示当前秒杀活动状态)和秒杀接口,不需要考虑下订单和退货流程。秒杀接口要求时间到了...

  • 秒杀设计

    防止库存超卖 用户少,并发少: 直接使用商品上下架的功能来实现秒杀。(直接读库) 用户量大,并发高: redis设...

网友评论

      本文标题:redis实现秒杀功能

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