sql >> Databasteknik >  >> NoSQL >> Redis

Redis Keyspace Notifications med flushdb

Precis som det andra svaret nämnde finns det inget sådant meddelande.

När allt kommer omkring, Keyspace Notification är ett meddelande för händelser på en enkel nyckel . Varje meddelande är kopplat till en nyckel. För keyspace händelse är nyckelnamnet en del av kanalnamnet. För keyevent händelse, nyckelnamnet är meddelandet.

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

Varje kommando som skickar ett meddelande måste ha en nyckel som argument. t.ex. del key , set key val . Men flushdb kommandot har ingen nyckel som argument. Kommandot påverkar inte en enda nyckel. Istället tar den bort alla nycklar i databasen. Så det finns ingen sådan anmälan för det. Annars, vad förväntar du dig av kanalen? Alla nycklar som har tagits bort? Det är ingen bra idé.

Du kan dock simulera en händelse för flushdb

  1. ställ in en speciell nyckel, t.ex. flushdb-event :set flushdb-event 0
  2. prenumerera på motsvarande kanal:subscribe [email protected]__:flushdb-event
  3. ställ in specialnyckeln innan du ringer flushdb :set flushdb-event 1

På detta sätt kan du få den simulerade flushdb meddelande.



  1. Är skillnaden mellan två listor igen?

  2. Vad är HBase Compactions?

  3. Mongoose find() RegExp för fältet nummertyp

  4. $avveckla tom array