怎么用php+redis实现乐观锁
Redis Assistant 是一款为Redis设计的高效可视化管理与监控工具,提供多种操作模式,高效处理服务器数据。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。
header(“content-type:text/html;charset=utf-8”);$redis=newredis();$result=$redis->connect(‘127.0.0.1’,6379);$mywatchkey=$redis->get(“”);$rob_total=10;//抢购数量if($mywatchkeywatch(“mywatchkey”);$redis->multi();//设置延迟,方便测试效果。sleep(5);//插入抢购数据$redis->hSet(“mywat
header(“content-type:text/html;charset=utf-8”);
$redis = new redis();
$result = $redis->connect(‘127.0.0.1’, 6379);
$mywatchkey = $redis->get(“”);
$rob_total = 10;
//抢购数量
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 “抢购成功!”;
echo “剩余数量:”.($rob_total-$mywatchkey-1).””;
echo “用户列表:”;
var_dump($mywatchlist);
} else {
echo “手气不好,再抢购!”;
exit;
}
}

































