Stejně jako v druhé uvedené odpovědi neexistuje žádné takové oznámení.
Koneckonců, Oznámení Keyspace je upozornění na události na jediném klíči . Každé oznámení je spojeno s klíčem. Pro keyspace událost, název klíče je součástí názvu kanálu. Pro keyevent událost, název klíče je zpráva.
PUBLISH example@sqldat.com__:key_name comamnd
PUBLISH example@sqldat.com__:command key_name
Každý příkaz, který odesílá upozornění, musí mít klíč jako argument. např. del key , set key val . Nicméně flushdb příkaz nemá žádný klíč jako argument. Příkaz neovlivňuje jedinou klávesu. Místo toho odebere všechny klíče v databázi. Takže pro to není žádné takové upozornění. Jinak, co od kanálu očekáváš? Všechny klíče, které byly odstraněny? Není to dobrý nápad.
Událost však můžete simulovat pro flushdb
- nastavit speciální klíč, např.
flushdb-event:set flushdb-event 0 - přihlaste se k odběru na odpovídajícím kanálu:
subscribe example@sqldat.com__:flushdb-event - před voláním
flushdbnastavte speciální klíč :set flushdb-event 1
Tímto způsobem můžete získat simulovaný flushdb oznámení.