Есть ли событие keypace в redis для ввода ключа в базу данных, которая еще не присутствует?

У меня есть программа, которая использует ключ redis с установленным временем истечения срока действия. Я хочу обнаружить, когда есть новая запись в набор данных. Я могу сказать, когда происходит удаление, прослушивая событие "expired", но события "set" и "expire" запускаются каждый раз, когда ключ установлен, даже если он уже находится в базе данных.

Есть ли событие keypace для появления нового ключа?

Ответ 1

Нет конфигурации в виде клавиатуры, которая обнаруживает, что ключ был перезаписан или недавно добавлен.

Если вы в основном используете команду SET, вы можете воспользоваться опцией NX и опубликовать собственное событие на основе результата. Очевидно, это не идеальный подход, но это что-то. https://redis.io/commands/set

Пример пользовательского события:

PUBLISH [email protected]__:new_data_entry new_key

Подробности здесь: https://redis.io/topics/notifications#type-of-events

Надеюсь, что это поможет.