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

Notifiche Redis Keyspace con flushdb

Proprio come l'altra risposta menzionata, non esiste tale notifica.

Dopotutto, Notifica spazio chiave è una notifica per eventi su una unica chiave . Ogni notifica è associata a una chiave. Per keyspace evento, il nome della chiave fa parte del nome del canale. Per keyevent evento, il nome della chiave è il messaggio.

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

Ogni comando che invia una notifica deve avere una chiave come argomento. per esempio. del key , set key val . Tuttavia, il flushdb il comando non ha una chiave come argomento. Il comando non ha effetto su una singola chiave. Invece, rimuove tutte le chiavi nel database. Quindi non esiste una tale notifica per questo. Altrimenti, cosa ti aspetti dal canale? Tutte le chiavi che sono state rimosse? Non è una buona idea.

Tuttavia, puoi simulare un evento per flushdb

  1. imposta una chiave speciale, ad es. flushdb-event :set flushdb-event 0
  2. iscriviti al canale corrispondente:subscribe [email protected]__:flushdb-event
  3. imposta la chiave speciale prima di chiamare flushdb :set flushdb-event 1

In questo modo, puoi ottenere il flushdb simulato notifica.