Heim  >  Artikel  >  Backend-Entwicklung  >  Redis verwendet watch, um den Code der Flash-Sale-Funktion zu vervollständigen

Redis verwendet watch, um den Code der Flash-Sale-Funktion zu vervollständigen

不言
不言Original
2018-05-07 13:51:083477Durchsuche

In diesem Artikel wird hauptsächlich der Code über die Verwendung von Watch zur Vervollständigung der Flash-Sale-Funktion vorgestellt. Jetzt kann ich ihn mit Ihnen teilen.

Redis verwendet watch Vervollständigen Sie die Flash-Sale-Funktion:

Verwenden Sie zwei Tasten in Redis, um die Flash-Sale-Funktion abzuschließen. Mywatchkey wird zum Speichern der Eilkaufmenge verwendet und der Benutzer von mywatchlist speichert die Eilkaufliste.

Die Vorteile sind wie folgt:

1. Verwenden Sie zunächst eine In-Memory-Datenbank, um eine extrem schnelle Kaufgeschwindigkeit zu erreichen.

2. Hohe Geschwindigkeit und Parallelität sind kein Problem.

3. Durch die Verwendung pessimistischer Sperren werden die Systemressourcen schnell erhöht.

4. Viel besser als Warteschlangen: Warteschlangen überlaufen sofort die Ressourcen Ihrer Speicherdatenbank.

5. Nutzen Sie optimistisches Sperren, um umfassende Anforderungen zu erfüllen.

Ich denke, der folgende Code ist definitiv das, was Sie wollen.

<?php 
header("content-type:text/html;charset=utf-8"); 
$redis = new redis(); 
$result = $redis->connect(&#39;10.10.10.119&#39;, 6379); 
$mywatchkey = $redis->get("mywatchkey"); 
$rob_total = 100;  //抢购数量 
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 "抢购成功!<br/>"; 
    echo "剩余数量:".($rob_total-$mywatchkey-1)."<br/>"; 
    echo "用户列表:<pre class="brush:php;toolbar:false">"; 
    var_dump($mywatchlist); 
  }else{ 
    echo "手气不好,再抢购!";exit; 
  } 
} 
?>

Verwandte Empfehlungen:

Detaillierte Erklärung zur Verwendung von Python Redis

Das obige ist der detaillierte Inhalt vonRedis verwendet watch, um den Code der Flash-Sale-Funktion zu vervollständigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn