Sie können auch mit dem Befehl sync eine Verbindung zum Redis-Server wie ein Slave herstellen. Eine schnelle Einführung finden Sie unter Wie Redis Replication? .
Die Ausgabe des Sync-Befehls hat zwei Phasen. In der ersten Phase gibt der Server die Datenbank dump.rdb zurück. Sobald die Datei gesendet wurde, beginnt sie, Befehle im Redis-Protokoll zu senden, das ebenfalls das AOF-Format ist.
Hier ist das Bild von dem, was Sie tun können:
SYNC
-Befehl Es scheint eine Menge Arbeit zu sein, aber Sie sollten in der Lage sein, dies ziemlich leicht zu hacken. Und es wäre auch eine gute Open-Source-Bibliothek!
BEARBEITEN: Synchronisieren v / s Monitor
Monitor
ist ein Debugging-Befehl. Das Antwortformat kann (und hat) sich im Laufe der Zeit ändern. Sync
wird für Master verwendet - & gt; Slave-Replikation, und so wird besser unterstützt Monitor
gibt alle Befehle aus, einschließlich schreibgeschützter Befehle. Sync
wird nur Befehle erhalten, die Daten ändern. Monitor
protokolliert einzelne Befehle, die in einem Lua-Skript ausgeführt werden. Sync
überträgt nur das gesamte Lua-Skript, sodass Sie das Skript selbst analysieren müssen. Dies ist in der Tat ein Deal Breaker für sync
. Monitor
protokolliert Befehle, die nicht erfolgreich waren, Sync
protokolliert nur Befehle, die Daten ändern. Zum Beispiel wird der Befehl del non-existing-key
vom Monitor protokolliert, aber nicht angezeigt, wenn Sie sync. Zwei Optionen:
Verwenden Sie den Befehl MONITOR
- er verfolgt jeden Befehl, der an Redis gesendet wird, und Sie können analysieren und sehen, wann Sie Sammlung wird berührt.
Wenn Sie den Code besitzen, der in die Sammlung schreibt, signalisieren Sie Ihren anderen Code (Ihren Rückruf). Sie können dafür den Redis Pub / Sub -Kanal verwenden.
BEARBEITEN Redis wird dieses Feature in Version 2.8 implementieren. Siehe dazu den Blogeintrag von Antirez: Redis Schlüsselraum ändert das Benachrichtigungssystem .
kurze Antwort - nein.
etwas längere Antwort - Sie können es nur tun, wenn Sie Publishing zu einem bestimmten Kanal in Redis PubSub in Ihrem Client hinzufügen. oder Benutzer MONITOR zu analysieren, was auch immer in Redis vorgeht, aber wenn dieser Prozess verliert Verbindung zu redis - Sie sind geschraubt.
Wenn Sie Java verwenden. redis-replicator
implementiert das Redis Replikationsprotokoll.
Weitere Informationen finden Sie unter Referenzen
Im Jahr 2017
Es gibt jetzt einen Publish / Subscribe-Mechanismus, den Sie mit node-redis
module verwenden können. Siehe spezifische Dokumentation HIER . (Funktioniert auch mit redis-mock
zum Testen)
Sie können mehrere Abonnenten (Listener) für denselben Kanal haben, was in Ihrem Fall der Schlüssel zu Ihrer Sammlung wäre.
Quick Sample: (Details zur Implementierung finden Sie in der obigen Dokumentation)
%Vor%