sql >> Database teknologi >  >> NoSQL >> Redis

Redis Keyspace-meddelelser med flushdb

Ligesom det andet svar nævnte, er der ingen sådan meddelelse.

Når alt kommer til alt, Tasterumsmeddelelse er en meddelelse om begivenheder på en enkelt tast . Hver meddelelse er knyttet til en nøgle. Til keyspace begivenhed, er nøglenavnet en del af kanalnavnet. Til keyevent begivenhed, nøglenavnet er beskeden.

PUBLISH [email protected]__:key_name comamnd
PUBLISH [email protected]__:command key_name

Hver kommando, der sender en meddelelse, skal have en nøgle som argument. for eksempel. del key , set key val . Men flushdb kommandoen har ingen nøgle som argument. Kommandoen påvirker ikke en enkelt tast. I stedet fjerner den alle nøgler i databasen. Så der er ingen sådan notifikation om det. Hvad forventer du ellers af kanalen? Alle nøgler, der er blevet fjernet? Det er ikke en god idé.

Du kan dog simulere en hændelse for flushdb

  1. indstil en speciel nøgle, f.eks. flushdb-event :set flushdb-event 0
  2. abonner på den tilsvarende kanal:subscribe [email protected]__:flushdb-event
  3. indstil specialtasten, før du ringer til flushdb :set flushdb-event 1

På denne måde kan du få den simulerede flushdb meddelelse.



  1. Skub genstande ind i mongo-arrayet via mongoose

  2. 'process.nextTick(function() { throw err; })' - Udefineret er ikke en funktion (mongodb/mongoose)

  3. GenericJackson2JsonRedisSerializer Ignorer klasse og attribut

  4. Medbring dine egne Azure-konti – Hosting til MongoDB® &Redis™ hos ScaleGrid