Heim  >  Artikel  >  Backend-Entwicklung  >  PHP+Redis Message Queue PHP-Beispiel zur Implementierung von Registrierungsstatistiken bei hoher Parallelität

PHP+Redis Message Queue PHP-Beispiel zur Implementierung von Registrierungsstatistiken bei hoher Parallelität

jacklove
jackloveOriginal
2018-06-28 17:48:341955Durchsuche

Der unten stehende Herausgeber wird Ihnen ein Beispiel für die Verwendung der PHP+Redis-Nachrichtenwarteschlange zur Erzielung hoher Parallelitätsregistrierungsstatistiken vorstellen. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Kommen Sie und werfen Sie einen Blick mit dem Herausgeber

Vorwort

Mittlerweile konzentrieren sich immer mehr Websites auf Statistiken und Benutzerverhaltensanalysen Eine Website Wie wir die statistische Leistung für häufig verwendete Funktionen verbessern können, müssen wir ebenfalls berücksichtigen. In diesem Artikel wird Redis zur Optimierung der Statistikfunktion verwendet (am Beispiel der Registrierungsstatistik).

Herkömmliche Statistikfunktionen bedienen die Datenbank direkt und fügen Daten in die Tabelle ein. Dadurch wird die Datenbankleistung stark beansprucht.

Idee:

Hier verwenden wir die Redis-Warteschlange. Bei der Registrierung fügen wir sie zuerst der Warteschlange hinzu und entfernen sie dann während der Verarbeitung . Und fügen Sie die Anzahl der Personen zu Redis hinzu.

Code:

<?php
//register.php 
$redis = new Redis();
$redis->connect(&#39;127.0.0.1&#39;,6379);
$i=0;
while(true){
  $i++;
  //假定一直有人在注册
  $redis->rpush("register_success",$i);
}

<?php
//deal.php
$redis = new Redis();
$redis->connect(&#39;127.0.0.1&#39;,6379);
while (true) {
  //list类型出队操作
  $value = $redis->lpop(&#39;register_success&#39;);
  if($value){
    echo "deal value : ".$value;
    //自增 添加注册人数统计  如果key不存在 则会初始化为0
    $redis->incr(&#39;register_num&#39;);
  }else{
    echo "deal finish";
  }
}

Das obige Beispiel für die Verwendung der PHP+Redis-Nachrichtenwarteschlange zur Erzielung einer hohen Parallelitätsstatistik für die Registrierungsnummer ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.

Artikel, die Sie interessieren könnten:

Laravel ORM öffnet „created_at“ nur mit mehreren Methoden, um PHP-Beispiele zusammenzufassen


Das obige ist der detaillierte Inhalt vonPHP+Redis Message Queue PHP-Beispiel zur Implementierung von Registrierungsstatistiken bei hoher Parallelität. 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