connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Kuantiti snap-up if($mywatchkeywatch("mywatchkey");$redis->multi();//Tetapkan kelewatan untuk memudahkan ujian kesan. sleep(5 );// Masukkan data pembelian tergesa-gesa $redi"/> connect('127.0.0.1',6379);$mywatchkey=$redis- >get("");$rob_total=10;//Kuantiti snap-up if($mywatchkeywatch("mywatchkey");$redis->multi();//Tetapkan kelewatan untuk memudahkan ujian kesan. sleep(5 );// Masukkan data pembelian tergesa-gesa $redi">
Rumah >pangkalan data >Redis >Cara menggunakan php+redis untuk melaksanakan penguncian optimistik
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 quantity
if($mywatchkey<$rob_total) {
$redis->watch("mywatchkey");
$redis->multi();
//Tetapkan kelewatan untuk memudahkan ujian kesan.
tidur(5);
//Masukkan data pembelian tergesa-gesa
$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 “Pembelian berjaya!”;
echo “Baki kuantiti:”.($rob_total-$mywatchkey-1).””;
echo “Senarai pengguna: ” ;
var_dump($mywatchlist);
} lain {
gema “Jika anda tidak bernasib baik, beli lagi!”;
keluar;
}
}
Atas ialah kandungan terperinci Cara menggunakan php+redis untuk melaksanakan penguncian optimistik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!