Es gibt zwei Haupt-Redis-Erweiterungen für PHP, die wir derzeit verwenden:
phpredis, das c effizient verwendet Erweiterung von PHP; Predis, das in PHP-Code geschrieben ist und häufig verwendet wird.
phpredis (PHP-Erweiterung)-Methode (empfohlenes Lernen: PHP-Video-Tutorial)
1. PHPredis-Standalone-Methode
<?php $client = new Redis(); $client->connect('10.30.5.163', '7000'); echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
phpredis-Cluster verwendet
<?php $redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001']; $client = new RedisCluster(NUll,$redis_list); echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
Codebeschreibung
Übergeben Sie NULL für den ersten Parameter. Fragen Sie mich nicht, ich weiß nicht Ich weiß nicht warum. Jedenfalls konnte ich das Dokument nicht finden und habe diesen Artikel nicht verstanden.
Der zweite Parameter ist die Liste der Master-Server des Redis-Clusters, zu dem wir eine Verbindung herstellen müssen. Wir haben 3 Master, füllen Sie einfach 3 aus, Sie können einen Master-Knoten oder sogar einen Slave-Knoten ausfüllen, aber die Leistung ist anders, siehe Teil 4
3. Cluster-Prinzip
Warum kann redisCluster durch Eingabe einer beliebigen Knotenadresse betrieben werden?
Wenn Redis im Cluster-Modus einen schlüsselbezogenen Befehl empfängt, berechnet es zunächst den Steckplatz, der dem Schlüssel entspricht,
Wenn der Slave-Knoten initialisiert ist, wird der Redis-Befehl zuerst an den Slave-Knoten gesendet
Der Slave-Knoten findet den entsprechenden Knoten entsprechend dem Steckplatz, dem Schlüsselbefehl wird verarbeitet;
Wenn nicht er selbst, benachrichtigt ein MOVED-Umleitungsfehler den Client, den richtigen Knoten anzufordern. Dieser Vorgang wird MOVED-Umleitung genannt
Die Umleitungsinformationen enthalten den dem Schlüssel entsprechenden Slot und die Adresse des für den Slot verantwortlichen Knotens
Der Client kann eine Anfrage an den richtigen Knoten initiieren
Der phpredis-Client kann basierend auf den Umleitungsinformationen direkt eine Anfrage an den Knoten initiieren, auf dem sich der Schlüssel befindet, um die Daten zu erhalten
Predis-Cluster-Modus verwenden
<?php use Predis\Client; require __DIR__ . '/../vendor/autoload.php'; $redis_list = [ 'tcp://10.30.5.163:7000', 'tcp://10.30.5.163:7001', 'tcp://10.30.5.162:7000' ]; $redis = new Client($redis_list, ['cluster'=>'redis']); echo $redis->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f')
Das obige ist der detaillierte Inhalt vonSo rufen Sie den Redis-Cluster in PHP auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!