Aktueller Standort: Startseite> Neueste Artikel> Wie höre man sich ständig auf Redis -Nachrichten an und verarbeitet sie?

Wie höre man sich ständig auf Redis -Nachrichten an und verarbeitet sie?

gitbox 2025-06-17

REDIS -Nachrichtenabonnement und Veröffentlichung

Redis ist ein Open -Source -Speicherdatenstruktur -Speichersystem, das mehrere Datenstrukturen wie Zeichenfolgen, Hashs, Listen, Sammlungen usw. unterstützt. Es bietet auch Nachrichtenabonnement- und Veröffentlichungsfunktionen, sodass Clients einen bestimmten Kanal abonnieren und Benachrichtigungen erhalten, wenn neue Nachrichten auf dem Kanal veröffentlicht werden. In diesem Artikel wird vorgestellt, wie Abonnements und kontinuierliches Hören von Redis -Nachrichten in PHP implementiert werden können.

Installieren Sie das Redis -Erweiterungspaket

Bevor Sie mit der Redis -Erweiterung beginnen, müssen Sie sie zuerst installieren. Sie können es über den PECL -Befehl installieren und den folgenden Befehl ausführen:

 pecl install redis

Wenn in Ihrem System nicht PECL installiert ist, können Sie es über den folgenden Befehl installieren:

 sudo apt-get install php-pear

Verbindung zu Redis herstellen

Nach der Installation des Redis -Erweiterungspakets besteht der nächste Schritt darin, eine Verbindung zum Redis -Server herzustellen. Verwenden Sie die Verbindungsmethode in der Redis -Klasse, um eine Verbindung herzustellen. Das Codebeispiel lautet wie folgt:

 $redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo 'redis connected';

Im obigen Code ist der erste Parameter der Verbindungsmethode die IP -Adresse des Redis -Servers, und der zweite Parameter ist die Portnummer. Nachdem die Verbindung erfolgreich ist, gibt das Programm eine "Redis Connected" -Meldung aus.

Nachrichtenabonnement und Verarbeitung

Nachdem Sie erfolgreich eine Verbindung zu Redis hergestellt haben, können Sie mit dem Abonnieren des Nachrichtenkanals beginnen und die Nachricht verarbeiten. Redis bietet Abonnement- und Psubscribe -Methoden zum Abonnieren.

Die Abonnementmethode abonniert einen oder mehrere angegebene Kanäle, wie unten gezeigt:

 $redis->subscribe(array('channel1', 'channel2'), function($redis, $channel, $message) {
    echo "Received message from channel: {$channel}, message: {$message}\n";
});

Im obigen Code ist der erste Parameter der Abonnementmethode ein Kanal -Array, und der zweite Parameter ist eine Rückruffunktion. Die Rückruffunktion wird nach Empfang der Nachricht ausgeführt.

Die Psubscribe -Methode unterstützt die Verwendung von Wildcard -Zeichen, um mehrere Kanäle zu abonnieren. Das Beispiel lautet wie folgt:

 $redis->psubscribe(array('channel.*'), function($redis, $channel, $message) {
    echo "Received message from channel: {$channel}, message: {$message}\n";
});

Der obige Code bedeutet, alle Kanäle ab "Kanal" abzuonnieren.

Implementieren Sie kontinuierliches Hören von Redis -Nachrichten und abonnieren und verarbeiten Sie sie

Um das Programm kontinuierlich Nachrichten anzuhören und sie in Echtzeit zu verarbeiten, kann die Schleife verwendet werden, um Nachrichten kontinuierlich anzuhören. Hier ist der Code, um diese Funktion zu implementieren:

 $redis->subscribe(array('channel'), function($redis, $channel, $message) {
    echo "Received message from channel: {$channel}, message: {$message}\n";
    // Verarbeitung empfangener Nachrichten
});
while(true) {
    $redis->ping();
    sleep(1);
}

In diesem Code erkennt die while -Schleife kontinuierlich, ob die Redis -Verbindung durch die Ping -Methode normal ist und einmal eine Sekunde schläft.

Vollständiger Codebeispiel

Hier ist ein volles PHP -Code -Beispiel für die Implementierung von Redis -Nachrichtenabonnements und kontinuierlichem Zuhören:

 
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->subscribe(array('channel'), function($redis, $channel, $message) {
    echo "Received message from channel: {$channel}, message: {$message}\n";
    // Verarbeitung empfangener Nachrichten
});
while(true) {
    $redis->ping();
    sleep(1);
}

Zusammenfassen

In diesem Artikel haben wir gelernt, wie man das Redis -Erweiterungspaket in PHP verwendet, um kontinuierlich auf Abonnement zu hören und Redis -Nachrichten zu verarbeiten. Wir beschreiben, wie man Methoden für den Nachrichtenkanal abonniert und Psubscribe -Verzeichnissen annimmt und eine Weile -Schleife verwendet, um Nachrichten kontinuierlich anzuhören, um sicherzustellen, dass alle empfangenen Nachrichten in Echtzeit verarbeitet werden.