Heim >Backend-Entwicklung >PHP-Tutorial >Eine Einführung in Redis in PHP mit Predis
Kernpunkte
Redis ist ein Open-Source-Datenstrukturserver mit einem Speicherdatensatz, der aufgrund der integrierten Datentypen weit mehr als einfacher Speicher der Schlüsselwerte funktioniert. Es wurde 2009 von Salvatore Sanfilippo ins Leben gerufen und wurde aufgrund seiner Popularität schnell gewachsen. Sie können Redis als Sitzungshandler verwenden, was besonders nützlich ist, wenn Sie eine Architektur mit mehreren Server hinter einem Lastausgleich verwenden. Redis verfügt außerdem über ein Veröffentlichung/Abonnementsystem, das ideal für die Erstellung von Online -Chat- oder Live -Abonnementsystemen ist. Unter Dokumentation und weitere Informationen zu Redis und allen seinen Befehlen finden Sie auf der Website des Projekts redis.io. Es gibt viele Debatten darüber, welche Redis oder Memcache besser ist, aber wie die Benchmarks zeigen, werden sie in Bezug auf grundlegende Operationen fast gleich ausgeführt. Redis verfügt über mehr Funktionen als Memcache, wie Speicher- und Festplattenpersistenz, Atombefehle und -transaktionen. Verwenden Sie stattdessen die serverseitigen Datenstrukturen, anstatt jede Änderung an der Festplatte zu protokollieren. In diesem Artikel werden wir die Predis -Bibliothek verwenden, um einige der grundlegenden, aber leistungsstarken Befehle zu erfahren, die Redis bietet.
Einfach zu installieren
Redis ist einfach zu installieren, und es werden kurze Installationsanweisungen auf der Download -Seite des Produkts veröffentlicht. Nach meiner Erfahrung werden Sie, wenn Sie Ubuntu ausführen, einen Fehler, wenn Sie TCL nicht installiert haben (einfach sudo Apt-Get Installt TCL). Nach der Installation von Redis können Sie den Server ausführen:
<code class="language-bash">gafitescu@ubun2:~$ /usr/local/bin/redis-server * The server is now ready to accept connections on port 6379</code>
REDIS -Client -Bibliotheken sind in vielen Sprachen verfügbar, die auf der Redis -Website aufgeführt sind, und jede Sprache ist normalerweise in mehreren Sprachen verfügbar! Für PHP gibt es fünf. In diesem Artikel werde ich die Predis -Bibliothek verwenden, aber Sie möchten vielleicht auch etwas über PHPREDIS wissen, das als PHP -Modul zusammengestellt und installiert wird. Wenn Sie Git wie ich auf Ihrem Computer installiert haben, klonen Sie einfach das Predis -Repository. Andernfalls müssen Sie das ZIP -Archiv herunterladen und es entpacken.
<code class="language-bash">gafitescu@ubun2:~$ /usr/local/bin/redis-server * The server is now ready to accept connections on port 6379</code>
Um alles zu testen, erstellen Sie eine test.php -Datei mit dem folgenden Testen, wenn Sie mithilfe von Predis erfolgreich eine Verbindung zu einem laufenden Redis -Server herstellen können:
<code class="language-bash">gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git</code>
Wenn Sie es ausführen, sollten Sie die Meldung "erfolgreich mit Redis verbunden" sehen.
Verwenden von Redis
In diesem Abschnitt skizzieren Sie die meisten der häufig verwendeten Befehle von Redis. Memcache hat Äquivalente für die meisten Befehle. Wenn Sie also mit Memcache vertraut sind, sieht diese Liste bekannt vor.
Set, Get and existiert
Die am häufigsten verwendeten Befehle in Redis werden eingestellt, erhalten und existiert. Sie können diese Befehle verwenden, um temporäre Informationen zu speichern und zu überprüfen, auf die in der Regel mehrmals auf Schlüsselwerten zugegriffen wird. Zum Beispiel:
<code class="language-php"><?php require "predis/autoload.php"; PredisAutoloader::register(); // 由于我们连接到默认设置localhost // 和6379端口,因此无需额外的 // 配置。如果不是,则可以将 // 方案、主机和端口指定为数组 // 传递给构造函数。 try { $redis = new Predis\Client(); /* $redis = new Predis\Client(array( "scheme" => "tcp", "host" => "127.0.0.1", "port" => 6379)); */ echo "Successfully connected to Redis"; } catch (Exception $e) { echo "Couldn't connected to Redis"; echo $e->getMessage(); }</code>Die Methode
set () wird verwendet, um den Wert auf einen bestimmten Schlüssel zu setzen. Die Get () -Methode ruft den Wert des Schlüssels ab und in diesem Fall "Hello_world". Die existierende () Methoden berichtet, ob der bereitgestellte Schlüssel im Redis -Store gefunden wird. Tasten beschränken sich nicht auf alphanumerische Zeichen und Unterstriche. Das Folgende ist auch gültig:
<code class="language-php"><?php $redis->set("hello_world", "Hi from php!"); $value = $redis->get("hello_world"); var_dump($value); echo ($redis->exists("Santa Claus")) ? "true" : "false";</code>
inkret (inkry) und decrby)
Inkret- und DECR -Befehle werden verwendet, um Werte zu erhöhen und zu verringern, und sind eine gute Möglichkeit, Zähler aufrechtzuerhalten. Inkrementieren und verringern/verringern Sie ihren Wert durch 1; Hier ist ein Beispiel:
<code class="language-php"><?php $redis->set("I 2 love Php!", "Also Redis now!"); $value = $redis->get("I 2 love Php!");</code>
Redis -Datentyp
Wie ich bereits erwähnt habe, hat Redis integrierte Datentypen. Sie denken vielleicht, dass es seltsam ist, Datentypen in einem NoSQL-Schlüsselwert-Speichersystem wie Redis zu haben. Dies ist jedoch für Entwickler nützlich, um Informationen effizienter zu organisieren und spezifische Aktionen auszuführen, was normalerweise schneller ist, wenn Daten typisiert sind. Der Datentyp der Redis lautet:
Bisher habe ich nur Zeichenfolgen gezeigt, aber es gibt einige Befehle, die es gleichermaßen einfach machen, Daten von anderen Datentypen zu verwenden.
Hset, HGet und HGetall, Hincrby und Hdel
Diese Befehle werden verwendet, um den Hash -Datentyp der Redis zu verarbeiten:
Hier ist ein Beispiel, um seine Verwendung zu demonstrieren:
<code class="language-bash">gafitescu@ubun2:~$ /usr/local/bin/redis-server * The server is now ready to accept connections on port 6379</code>
Zusammenfassung
In diesem Artikel haben wir nur eine kurze Liste von Redis -Befehlen behandelt, aber Sie können die vollständige Liste der Befehle auf der Redis -Website anzeigen. Tatsächlich bietet Redis viel mehr als nur einen Ersatz für Memcache. Redis wird dauern; Redit ist Open Source. Wenn Sie also ein C -Sprach -Experte sind, können Sie seinen Quellcode von GitHub ausgeben und Mitwirkender machen. Wenn Sie mehr als die Projektwebsite erfahren möchten, sollten Sie zwei ausgezeichnete Redis -Bücher, Redis -Kochbuch und Redis: The Definitive Guide, in Betracht ziehen.
Häufig gestellte Fragen zu Redis mit Predis in PHP
Predis ist eine flexible und voll funktionsfähige PHP -Redis -Client -Bibliothek. Es ermöglicht PHP -Entwicklern, mit REDIS mithilfe von PHP -Code zu interagieren, wodurch die Verwendung von Redis in PHP -Anwendungen einfacher verwendet wird. Predis bietet eine einfache und intuitive API, um Redis zu handhaben, und unterstützt eine Vielzahl von Redisfunktionen, einschließlich Transaktionen, Pipelines und Clustern. Durch die Verwendung von Predis können PHP -Entwickler die Leistung von Redis in ihren Anwendungen nutzen, ohne sich mit der Komplexität der direkten Interaktion mit dem Redis -Server befassen zu müssen.
Predis kann einfach in PHP -Projekten mit Composer (PHP -Abhängigkeitsmanagement -Tool) installiert werden. Sie können Predis installieren, indem Sie den folgenden Befehl im Stammverzeichnis Ihres Projekts ausführen: composer require predis/predis
. In diesem Befehl wird die neueste stabile Version von Predis und seine Abhängigkeiten in Ihr Projekt heruntergeladen und installiert.
Um mithilfe von Predis eine Verbindung zum Redis -Server herzustellen, müssen Sie eine neue Instanz der Predisclient -Klasse erstellen und die Verbindungsparameter an ihren Konstruktor übergeben. Der Verbindungsparameter kann eine Zeichenfolge sein, die den REDIS -Server -URI oder ein assoziatives Array mit Verbindungsoptionen darstellt. Hier ist ein Beispiel:
<code class="language-bash">gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git</code>
In diesem Beispiel stellt der Client eine Verbindung zum Redis -Server her, das auf Localhost Port 6379 ausgeführt wird.
Predis bietet Methoden zur Ausführung aller Redis -Befehle. Diese Methoden werden nach dem entsprechenden Redis -Befehl benannt, der Befehlsparameter als Parameter akzeptiert. Um beispielsweise Schlüsselwertpaare in Redis festzulegen, können Sie die festgelegte Methode wie folgt verwenden:
<code class="language-php"><?php require "predis/autoload.php"; PredisAutoloader::register(); // 由于我们连接到默认设置localhost // 和6379端口,因此无需额外的 // 配置。如果不是,则可以将 // 方案、主机和端口指定为数组 // 传递给构造函数。 try { $redis = new Predis\Client(); /* $redis = new Predis\Client(array( "scheme" => "tcp", "host" => "127.0.0.1", "port" => 6379)); */ echo "Successfully connected to Redis"; } catch (Exception $e) { echo "Couldn't connected to Redis"; echo $e->getMessage(); }</code>
Um den Wert des Schlüssels zu erhalten, können Sie die GET -Methode verwenden:
<code class="language-bash">gafitescu@ubun2:~$ /usr/local/bin/redis-server * The server is now ready to accept connections on port 6379</code>
Predis wird eine Ausnahme auswerfen, wenn der Befehl Redis fehlschlägt. Diese Ausnahmen sind Instanzen der PredisresponServerexception -Klasse oder ihrer Unterklasse. Sie können diese Ausnahmen fangen und Fehler in Ihrem Code behandeln. Hier ist ein Beispiel:
<code class="language-bash">gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git</code>
In diesem Beispiel wird in diesem Beispiel der Befehlssatz ausfällt, der Fangblock wird ausgeführt und eine Fehlermeldung wird gedruckt.
(Die Antworten auf die anderen Fragen ähneln der vorherigen Ausgabe, außer dass der Wortlaut leicht eingestellt ist und wir sie hier nicht wiederholen)
Das obige ist der detaillierte Inhalt vonEine Einführung in Redis in PHP mit Predis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!