Redis
 sql >> Base de données >  >> NoSQL >> Redis

Notifications d'espace de clés Redis avec flushdb

Tout comme l'autre réponse l'a mentionné, il n'y a pas de notification de ce type.

Après tout, Notification Keyspace est une notification d'événements sur une clé unique . Chaque notification est associée à une clé. Pour keyspace événement, le nom de la clé fait partie du nom du canal. Pour keyevent événement, le nom de la clé est le message.

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

Chaque commande qui envoie une notification doit avoir une clé comme argument. par exemple. del key , set key val . Cependant, le flushdb La commande n'a pas de clé comme argument. La commande n'affecte pas une seule touche. Au lieu de cela, il supprime toutes les clés de la base de données. Il n'y a donc pas de notification de ce type. Sinon, qu'attendez-vous de la chaîne ? Toutes les clés ont été supprimées ? Ce n'est pas une bonne idée.

Cependant, vous pouvez simuler un événement pour flushdb

  1. définissez une clé spéciale, par ex. flushdb-event :set flushdb-event 0
  2. abonnez-vous sur le canal correspondant :subscribe [email protected]__:flushdb-event
  3. définissez la clé spéciale avant d'appeler flushdb :set flushdb-event 1

De cette façon, vous pouvez obtenir le flushdb simulé notification.