Predis für PHP: Vollständige Anleitung mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Predis und wozu wird es benötigt

\n\n

Predis ist ein voll funktionsfähiger Client für die Arbeit mit Redis (Remote Dictionary Server) in der Sprache PHP. Redis ist ein leistungsstarker Schlüssel-Wert-Speicher, der häufig für Caching, Sitzungsverwaltung, Nachrichtenwarteschlangen und Echtzeitanwendungen verwendet wird. Predis ermöglicht PHP-Anwendungen die Kommunikation mit einem Redis-Server, indem es Befehle sendet und Antworten empfängt.

\n\n

Warum Predis verwenden? Im Gegensatz zu anderen Clients (z. B. phpredis) ist Predis vollständig in PHP geschrieben und erfordert keine Installation zusätzlicher C-Erweiterungen. Dies macht es zur idealen Wahl für Umgebungen, in denen Sie die Installation von Erweiterungen nicht kontrollieren können (z. B. auf Shared Hosting). Predis unterstützt alle wichtigen Redis-Funktionen: Strings, Hashes, Listen, Sets, Transaktionen, Pub/Sub, Clustering und vieles mehr.

\n\n

Hauptanwendungsszenarien:

\n
    \n
  • Caching — Beschleunigung der Website-Leistung durch Speicherung häufig abgerufener Daten im Arbeitsspeicher.
  • \n
  • Sitzungsverwaltung — Speicherung von Benutzersitzungen in Redis für schnellen Zugriff und Skalierbarkeit.
  • \n
  • Aufgabenwarteschlangen — Organisation der Hintergrundverarbeitung von Aufgaben mithilfe von Redis-Listen.
  • \n
  • Ranglisten und Zähler — Verwendung geordneter Sets zur Erstellung von Bestenlisten.
  • \n
  • Pub/Sub — Implementierung von Echtzeit-Nachrichtensystemen.
  • \n
\n\n

Installation von Predis

\n\n

Predis wird über Composer, den Standard-Paketmanager für PHP, verteilt. Stellen Sie sicher, dass Composer installiert ist. Falls nicht, laden Sie es von getcomposer.org herunter.

\n\n

Führen Sie zur Installation von Predis den folgenden Befehl im Stammverzeichnis Ihres Projekts aus:

\n\n
composer require predis/predis
\n\n

Nach der Installation erscheinen in Ihrem Projekt der Ordner vendor und die Datei composer.json. Verwenden Sie zum Einbinden von Predis den Composer-Autoloader:

\n\n
require 'vendor/autoload.php';
\n\n

Mindestanforderungen: PHP 7.2 oder höher. Predis erfordert keine Installation der Redis-Erweiterung für PHP, da es das Redis-Protokoll in reinem PHP implementiert.

\n\n

Schnellstart mit Codebeispiel

\n\n

Schreiben wir ein einfaches Skript, das eine Verbindung zu Redis herstellt, einen Wert speichert und ihn ausliest.

\n\n
<?php\nrequire 'vendor/autoload.php';\n\nuse Predis\\Client;\n\n// Erstellen eines Redis-Clients (standardmäßig Verbindung zu localhost:6379)\n$client = new Client();\n\n// Wert setzen\n$client->set('greeting', 'Hello, Redis!');\n\n// Wert abrufen\n$value = $client->get('greeting');\necho $value; // Gibt aus: Hello, Redis!\n\n// Prüfen, ob der Schlüssel existiert\nif ($client->exists('greeting')) {\n    echo "Schlüssel existiert!";\n}\n\n// Schlüssel löschen\n$client->del(['greeting']);\n?>
\n\n

Dieser Code bewirkt Folgendes:

\n
    \n
  1. Stellt eine Verbindung zum Redis-Server auf localhost (Port 6379) her.
  2. \n
  3. Speichert die Zeichenkette "Hello, Redis!" unter dem Schlüssel "greeting".
  4. \n
  5. Liest den Wert zurück und gibt ihn aus.
  6. \n
  7. Prüft, ob der Schlüssel existiert.
  8. \n
  9. Löscht den Schlüssel.
  10. \n
\n\n

Wenn Redis auf einem anderen Host oder Port läuft, übergeben Sie die Verbindungsparameter:

\n\n
$client = new Client([\n    'scheme' => 'tcp',\n    'host'   => '192.168.1.100',\n    'port'   => 6379,\n]);
\n\n

Wichtige Methoden von Predis

\n\n

Predis bietet eine benutzerfreundliche Schnittstelle für alle Redis-Befehle. Betrachten wir die 10 am häufigsten verwendeten Methoden mit detaillierten Beispielen.

\n\n

1. set — Wert setzen

\n

Was es tut: Setzt einen Wert für den angegebenen Schlüssel. Wenn der Schlüssel bereits existiert, wird sein Wert überschrieben.

\n

Parameter:

\n
    \n
  • $key (string) — Name des Schlüssels.
  • \n

Empfehlungen