Net zoals het andere antwoord vermeldde, is er geen dergelijke melding.
Immers, Keyspace-melding is een melding voor gebeurtenissen op een enkele toets . Elke melding is gekoppeld aan een sleutel. Voor keyspace
gebeurtenis, maakt de sleutelnaam deel uit van de kanaalnaam. Voor keyevent
gebeurtenis, de sleutelnaam is het bericht.
PUBLISH [email protected]__:key_name comamnd
PUBLISH [email protected]__:command key_name
Elke opdracht die een melding verzendt, moet een sleutel als argument hebben. bijv. del key
, set key val
. Echter, de flushdb
commando heeft geen sleutel als argument. De opdracht heeft geen invloed op een enkele toets. In plaats daarvan worden alle sleutels in de database verwijderd. Er is dus geen dergelijke melding voor. Wat verwacht je anders van het kanaal? Alle sleutels die zijn verwijderd? Het is geen goed idee.
U kunt echter een gebeurtenis simuleren voor flushdb
- stel een speciale sleutel in, b.v.
flushdb-event
:set flushdb-event 0
- abonneer je op het bijbehorende kanaal:
subscribe [email protected]__:flushdb-event
- stel de speciale sleutel in voordat je
flushdb
aanroept :set flushdb-event 1
Op deze manier kunt u de gesimuleerde flushdb
. krijgen melding.