connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Quantité de snap-up if($mywatchkeywatch("mywatchkey");$redis->multi();//Définissez le délai pour faciliter le test de l'effet. sleep(5 );// Insérer les données d'achat urgent $redi"/> connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Quantité de snap-up if($mywatchkeywatch("mywatchkey");$redis->multi();//Définissez le délai pour faciliter le test de l'effet. sleep(5 );// Insérer les données d'achat urgent $redi">

Maison  >  Article  >  base de données  >  Comment utiliser php+redis pour implémenter le verrouillage optimiste

Comment utiliser php+redis pour implémenter le verrouillage optimiste

WBOY
WBOYavant
2023-06-03 10:09:451405parcourir

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;
//Quantité instantanée
if($mywatchkey<$rob_total) {
$redis->watch("mywatchkey");
$ redis->multi();
//Définissez le délai pour faciliter le test de l'effet.
sleep(5);
//Insérer les données d'achat urgent
$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 "Achat réussi ! ";
echo "Quantité restante : ".($rob_total-$mywatchkey-1)."";
echo "Liste d'utilisateurs :";
var_dump($mywatchlist);
} else {
echo "Pas de chance, s'il vous plaît réessayez Snap up! »;
exit;
}
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer