Tak jak wspomniana druga odpowiedź, nie ma takiego powiadomienia.
W końcu Powiadomienie o przestrzeni klawiszy to powiadomienie o zdarzeniach na jednym klawiszu . Każde powiadomienie jest powiązane z kluczem. Dla keyspace zdarzenie, nazwa klucza jest częścią nazwy kanału. Dla keyevent zdarzenie, nazwa klucza to wiadomość.
PUBLISH example@sqldat.com__:key_name comamnd
PUBLISH example@sqldat.com__:command key_name
Każde polecenie, które wysyła powiadomienie, musi mieć jako argument klucz. np. del key , set key val . Jednak flushdb polecenie nie ma klucza jako argumentu. Polecenie nie wpływa na pojedynczy klawisz. Zamiast tego usuwa wszystkie klucze z bazy danych. Więc nie ma takiego powiadomienia. W przeciwnym razie czego oczekujesz od kanału? Wszystkie klucze, które zostały usunięte? To nie jest dobry pomysł.
Możesz jednak zasymulować zdarzenie dla flushdb
- ustaw specjalny klucz, np.
flushdb-event:set flushdb-event 0 - subskrybuj na odpowiednim kanale:
subscribe example@sqldat.com__:flushdb-event - ustaw specjalny klawisz przed wywołaniem
flushdb:set flushdb-event 1
W ten sposób możesz uzyskać symulowaną flushdb powiadomienie.