Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Powiadomienia Redis Keyspace z flushdb

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 [email protected]__:key_name comamnd
PUBLISH [email protected]__: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

  1. ustaw specjalny klucz, np. flushdb-event :set flushdb-event 0
  2. subskrybuj na odpowiednim kanale:subscribe [email protected]__:flushdb-event
  3. ustaw specjalny klawisz przed wywołaniem flushdb :set flushdb-event 1

W ten sposób możesz uzyskać symulowaną flushdb powiadomienie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzyskać klucz z wartości w parze klucz/wartość w kliencie sklepu redis?

  2. node.js przechowuj obiekty w redis

  3. Po uruchomieniu kwiatka otrzymuję następujące informacje:dbm.error:typ db to dbm.gnu, ale moduł nie jest dostępny

  4. Django Celery nie może odpytywać postgres db wewnątrz zadania

  5. Jak połączyć się z kontenerem Redis za pomocą Docker Compose?