Redis
 sql >> база данни >  >> NoSQL >> Redis

Redis Keyspace Известия с flushdb

Както бе споменато в другия отговор, няма такова известие.

В крайна сметка, Уведомление за ключово пространство е известие за събития на един ключ . Всяко известие е свързано с ключ. За keyspace събитие, името на ключа е част от името на канала. За keyevent събитие, ключовото име е съобщението.

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

Всяка команда, която изпраща известие, трябва да има ключ като аргумент. напр. del key , set key val . Въпреки това, flushdb командата няма ключ като аргумент. Командата не засяга нито един клавиш. Вместо това премахва всички ключове в базата данни. Така че няма такова известие за него. Иначе какво очакваш от канала? Всички ключове, които са премахнати? Не е добра идея.

Можете обаче да симулирате събитие за flushdb

  1. задайте специален ключ, напр. flushdb-event :set flushdb-event 0
  2. абонирайте се за съответния канал:subscribe [email protected]__:flushdb-event
  3. задайте специалния ключ, преди да извикате flushdb :set flushdb-event 1

По този начин можете да получите симулирания flushdb известие.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure DataBricks Stream foreach се проваля с NotSerializableException

  2. Как да преместя база данни Redis от един сървър на друг?

  3. Памет на подканала Redis Pub

  4. Записване на HASH в Redis в приложение за rails

  5. Пропускане/мокиране на Redis в Junit