<?php
class watch
{
public function log($content){
header("Content-type: text/html; charset=utf-8");
$file = 'log.txt';
if($f = file_put_contents($file, $content,FILE_APPEND)){// 这个函数支持版本(PHP 5)
echo "写入成功。<br />";
}
}
}
header("content-type:text/html;charset=utf-8");
$redis = new redis();
$result = $redis->connect('127.0.0.1', 6379);
$mywatchkey = $redis->get("zdk1"); //设置一个字段
$rob_total = 500; //抢购数量
if($mywatchkey<$rob_total){
$redis->watch("zdk1"); //监听字段
$redis->multi(); //开始
//插入抢购数据
$user_id="user_id_".mt_rand(1999999, 9999999);//模拟用户id生成
$redis->hSet("mywatchlist",$user_id,time());//抢购 添加用户
$redis->set("zdk1",$mywatchkey+1); //抢购+1
$rob_result = $redis->exec(); //事务 结束
if($rob_result){
//数据无冲突 事物已提交成功
$mywatchlist = $redis->hGetAll("mywatchlist"); //获取所有抢购成功的用户
$content= $user_id."抢购成功 剩余数量:".($rob_total-$mywatchkey-1)."\n";
$a=new watch;
$a->log($content);
// $content=json_encode($mywatchlist)."\n";
}else{
//数据有冲突,事务没有提交,乐观锁
$a=new watch;
$a->log("手气不好,再抢购!");
echo "手气不好,再抢购!";exit;
}
} else{
$a=new watch;
$a->log("手气不好,再抢购!\n");
// $mywatchlist = $redis->hGetAll("mywatchlist"); //获取所有抢购成功的用户
// //所有抢购成功的用户
// $content=json_encode($mywatchlist)."\n";
// $a->log($content);
echo "手气不好,再抢购!";exit;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
redis秒杀.rar (1个子文件)
redis秒杀.php 2KB
共 1 条
- 1
资源评论
凌晨灬丶
- 粉丝: 27
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功