connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Snap-up-Menge if($mywatchkeywatch("mywatchkey");$redis->multi();//Legen Sie die Verzögerung fest, um das Testen des Effekts zu erleichtern. sleep(5 );// Eilkaufdaten einfügen $redi"/> connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Snap-up-Menge if($mywatchkeywatch("mywatchkey");$redis->multi();//Legen Sie die Verzögerung fest, um das Testen des Effekts zu erleichtern. sleep(5 );// Eilkaufdaten einfügen $redi">

Heim  >  Artikel  >  Datenbank  >  So implementieren Sie optimistisches Sperren mit PHP + Redis

So implementieren Sie optimistisches Sperren mit PHP + Redis

WBOY
WBOYnach vorne
2023-06-03 10:09:451402Durchsuche

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;
//Snap-up-Menge
if ($ mywatchkey<$rob_total) {
$redis->watch("mywatchkey");
$redis->multi();
//Stellen Sie die Verzögerung ein, um das Testen zu erleichtern Wirkung.
sleep(5);
//Eilkaufdaten einfügen
$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 „Kauf erfolgreich!“;
echo „Restmenge:“.($rob_total-$mywatchkey-1).““ ;
echo „Benutzerliste:“;
var_dump($mywatchlist);
} else {
echo „Wenn Sie kein Glück haben, kaufen Sie noch einmal!“;#🎜🎜 #exit;# 🎜🎜#}
}

Das obige ist der detaillierte Inhalt vonSo implementieren Sie optimistisches Sperren mit PHP + Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen