Genau wie in der anderen Antwort erwähnt, gibt es keine solche Benachrichtigung.
Immerhin Keyspace-Benachrichtigung ist eine Benachrichtigung für Ereignisse auf einem einzelnen Schlüssel . Jede Benachrichtigung ist einem Schlüssel zugeordnet. Für keyspace
Event ist der Schlüsselname Teil des Kanalnamens. Für keyevent
Ereignis, der Schlüsselname ist die Nachricht.
PUBLISH [email protected]__:key_name comamnd
PUBLISH [email protected]__:command key_name
Jeder Befehl, der eine Benachrichtigung sendet, muss einen Schlüssel als Argument haben. z.B. del key
, set key val
. Die flushdb
Befehl hat keinen Schlüssel als Argument. Der Befehl wirkt sich nicht auf eine einzelne Taste aus. Stattdessen entfernt es alle Schlüssel in der Datenbank. Es gibt also keine solche Benachrichtigung dafür. Was erwartest du ansonsten von dem Kanal? Alle Schlüssel, die entfernt wurden? Das ist keine gute Idee.
Sie können jedoch ein Ereignis für flushdb
simulieren
- einen speziellen Schlüssel setzen, z.B.
flushdb-event
:set flushdb-event 0
- Abonnieren Sie den entsprechenden Kanal:
subscribe [email protected]__:flushdb-event
- setzen Sie den Sonderschlüssel, bevor Sie
flushdb
aufrufen :set flushdb-event 1
Auf diese Weise können Sie die simulierte flushdb
erhalten Benachrichtigung.