Heim  >  Artikel  >  Backend-Entwicklung  >  Wie geht PHP+Redis+MySQL mit hoher Parallelität um (Beispielcode)

Wie geht PHP+Redis+MySQL mit hoher Parallelität um (Beispielcode)

不言
不言Original
2018-08-06 14:11:431941Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Umgang mit hoher Parallelität (Beispielcode). Ich hoffe, dass er für Sie hilfreich ist.

1. Experimentelle Umgebung
Ubuntu, PHP, Apache oder Nginx, MySQL
2. Anforderungen
Jetzt gibt es eine Schnittstelle, die das kann Wenn die Parallelität relativ groß ist, wird diese Schnittstelle in PHP geschrieben. Ihre Funktion besteht darin, das Namensfeld in der GET-Anfrage des Benutzers zu empfangen und dieses Feld dann in MySQL zu speichern Lassen Sie Redis diese Daten dann regelmäßig an MySQL übertragen.
2. Implementierungsschritte
1. Erstellen Sie einen neuen Datenbanktest und einen Datentabellentest. var/www/test.php, der Inhalt ist wie folgt, und konfigurieren Sie den virtuellen Host, um ihn zugänglich zu machen.

CREATE TABLE `test` (
  `name` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf-8

2. Erstellen Sie eine neue redis.php-Datei im selben Verzeichnis und achten Sie darauf, das Datenbankkennwort und andere Konfigurationen zu ändern. Der Inhalt lautet wie folgt:

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
try {
    $res = $redis->LPUSH('name', $_REQUEST["name"]);
} catch (Exception $e) {
    echo $e->getMessage();
}

3 .php-Skriptdatei

<?php
$redis = new Redis();
$redis->pconnect('127.0.0.1',6379);
$mysql=mysqli_connect("localhost","root","bnm");
mysqli_select_db($mysql,"test") or die("不能选择数据库");
if(!$mysql){
    die("连接失败");
}
while (true){
    try{
        $value = $redis->LPOP('name');
        if(!$value){
            echo "等待";
        }else{
            $sql="insert into test(name) values ('".$value."')";
            $result=mysqli_query($mysql,$sql);
            if($result&&mysqli_affected_rows($mysql)>0){
                echo "插入成功";
            }else{
                echo "插入失败:".mysqli_error($mysql);
            }
        }
    }catch(Exception $e){
        echo $e->getMessage();
    }
    sleep(1);
}

4. Besuchen Sie die Skriptdatei index.php, z. B.: http://192.168.116.128/?name=33, und prüfen Sie dann, ob die Daten in MySQL eingegeben wurden.

Empfohlene verwandte Artikel:

Was sind die Operationen von PHP-Array-Funktionen? Anwendung der PHP-Array-Funktion (mit Code)

thinkphp5-Framework und Android implementieren QR-Code-Generierungscode

Das obige ist der detaillierte Inhalt vonWie geht PHP+Redis+MySQL mit hoher Parallelität um (Beispielcode). 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