Heim > Backend-Entwicklung > PHP-Tutorial > Eine Einführung in Redis in PHP mit Predis

Eine Einführung in Redis in PHP mit Predis

Christopher Nolan
Freigeben: 2025-02-27 09:08:11
Original
430 Leute haben es durchsucht

An Introduction to Redis in PHP using Predis

Kernpunkte

  • Redis ist ein beliebter Open-Source-Datenstrukturserver, der dank der integrierten Datentypen weit mehr als einfacher Schlüssel-Wert-Speicher bietet. Es wird von großen Unternehmen weit verbreitet und kann als Sitzungshandler verwendet werden oder Online -Chat- oder Live -Buchungssysteme erstellen.
  • redis und memcache werden in Bezug auf grundlegende Operationen ähnlich ausgeführt, aber Redis liefert mehr Funktionen wie Speicher- und Festplattenpersistenz, Atombefehle und -transaktionen sowie serverseitige Datenstrukturen.
  • Predis ist eine flexible und voll funktionsfähige PHP -Redis -Client -Bibliothek, mit der PHP -Entwickler mithilfe von PHP -Code mit Redis interagieren können. Es unterstützt eine Vielzahl von Redis -Funktionen, einschließlich Transaktionen, Pipelines und Clustern.
  • redisbefehle umfassen Set, GET, existieren (zum Speichern und Überprüfen von temporären Informationen), inkret und ab (für die Aufrechterhaltung von Zählern), Hset, HGet, Hincrby und HDEL (zur Verarbeitung von Hash -Datentypen) sowie Ablauf, Ablauf, TTL und Persisten (für die Verarbeitung von Datenbestandteilen).

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:

gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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.

gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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:

gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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:

<?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();
}
Nach dem Login kopieren
Nach dem Login kopieren
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:

<?php
$redis->set("hello_world", "Hi from php!");
$value = $redis->get("hello_world");
var_dump($value);

echo ($redis->exists("Santa Claus")) ? "true" : "false";
Nach dem Login kopieren

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:

<?php
$redis->set("I 2 love Php!", "Also Redis now!");
$value = $redis->get("I 2 love Php!");
Nach dem Login kopieren

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:

  • String - Der in Redis verwendete grundlegende Datentyp, aus dem Sie eine kleine Anzahl von Zeichen auf den Inhalt der gesamten Datei speichern können.
  • Liste - Eine einfache Liste von Zeichenfolgen, die in der Reihenfolge angeordnet sind, in der ihre Elemente eingefügt werden. Sie können Elemente aus Kopf und Schwanz einer Liste hinzufügen und entfernen, damit Sie diesen Datentyp verwenden können, um eine Warteschlange zu implementieren.
  • Hash - Karte der Stringschlüssel und Stringwerte. Auf diese Weise können Sie ein Objekt darstellen (das als einstufiges Tiefenobjekt auf Stufe betrachtet werden kann).
  • Sammlung - Eine ungeordnete Sammlung von Zeichenfolgen, in denen Sie das Vorhandensein von Mitgliedern hinzufügen, löschen und testen können. Die einzige Einschränkung ist, dass Sie keine doppelten Mitglieder zulassen.
  • Sortiersätze - spezieller Fall von Sammeldatentypen. Der Unterschied besteht darin, dass jedes Mitglied eine zugehörige Punktzahl hat, die verwendet wird, um den Satz von der kleinsten Punktzahl auf die maximale Punktzahl zu sortieren.

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:

  • hset - Setzen Sie den Wert des Schlüssels für das Hash -Objekt.
  • hget - Erhalten Sie den Wert des Schlüssels für das Hash -Objekt.
  • hincrby - Incrementieren Sie den Wert des Hash -Objektschlüssels mit dem angegebenen Wert.
  • hdel - Taste aus dem Objekt entfernen.
  • hGetall - Holen Sie sich alle Schlüssel und Daten des Objekts.

Hier ist ein Beispiel, um seine Verwendung zu demonstrieren:

gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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

  • Was ist der Hauptzweck für die Verwendung von Predis und Redis 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.

  • Wie installiere ich Predis im PHP -Projekt?

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.

  • Wie verwendet ich Predis, um eine Verbindung zu einem Redis -Server herzustellen?

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:

gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

In diesem Beispiel stellt der Client eine Verbindung zum Redis -Server her, das auf Localhost Port 6379 ausgeführt wird.

  • Wie kann ich Predis verwenden, um Redis -Befehle auszuführen?

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:

<?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();
}
Nach dem Login kopieren
Nach dem Login kopieren

Um den Wert des Schlüssels zu erhalten, können Sie die GET -Methode verwenden:

gafitescu@ubun2:~$ /usr/local/bin/redis-server
* The server is now ready to accept connections on port 6379
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • Wie kann ich Fehler in Predis umgehen?

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:

gafitescu@ubun2:~$ git clone git://github.com/nrk/predis.git
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage