connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//スナップアップ量 if($mywatchkeywatch("mywatchkey");$redis->multi();//効果のテストを容易にするために遅延を設定します。 sleep(5 );// 急ぎ購入データを挿入 $redi"/> connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//スナップアップ量 if($mywatchkeywatch("mywatchkey");$redis->multi();//効果のテストを容易にするために遅延を設定します。 sleep(5 );// 急ぎ購入データを挿入 $redi">

ホームページ  >  記事  >  データベース  >  php+redisを使用して楽観的ロックを実装する方法

php+redisを使用して楽観的ロックを実装する方法

WBOY
WBOY転載
2023-06-03 10:09:451400ブラウズ

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$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->gt ; hGetAll("mywatchlist");
echo "購入成功しました!";
echo "残り数量:".($rob_total-$mywatchkey-1)."";
echo "ユーザー リスト:" ;
var_dump($mywatchlist);
} else {
echo 「運が悪ければ、もう一度購入してください!」;
exit;
}
}

以上がphp+redisを使用して楽観的ロックを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。