redis_简单秒杀_watch事务

简单秒杀

<?php

header("content-type:text/html;charset=utf-8");  

$redis = new redis();  

$result = $redis->connect('127.0.0.1', 6379);

$watchkey = $redis->get("watchkey");  

$rob_total = 10;

if($watchkey<$rob_total){  

    $redis->watch("watchkey");  

    $redis->multi();   

    $redis->hSet("watchlist","user_id_".mt_rand(1, 9999),time());  

    $redis->incr("watchkey");

    $rob_result = $redis->exec();  

    if($rob_result){  

        $watchlist = $redis->hGetAll("watchlist");  

        echo "抢购成功!<br/>";  

        echo "剩余数量:".($rob_total-$watchkey-1)."<br/>";  

        echo "用户列表:<pre>";  

        var_dump($watchlist);  

    }else{  

        echo "手气不好,再抢购!";

    }  

}else{

echo "已被抢购完!";

}



转载于:https://my.oschina.net/miaowang/blog/650579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值