2016-08-01 8 views
15

Mam program, który używa klucza redis z wygasającym zestawem czasu. Chcę wykryć, kiedy jest nowy wpis do zestawu danych. Mogę powiedzieć, kiedy jest usunięcie, nasłuchując zdarzenia "wygasłego", ale zdarzenia "set" i "expire" są uruchamiane za każdym razem, gdy klucz jest ustawiony, nawet jeśli jest już w bazie danych.Czy istnieje zdarzenie keyspace w trybie redis dla klucza wprowadzającego do bazy danych, który jeszcze nie istnieje?

Czy jest jakieś wydarzenie przestrzeni kluczy dla pojawienia się NOWEGO klucza?

+0

nie sądzę, że jest obecna w oficjalnej wersji, ale może uda się to osiągnąć za pomocą skryptu lua –

Odpowiedz

1

Nie ma konfiguracji obszaru kluczy, która wykryłaby, że klucz został nadpisany względem nowo dodanego.

Jeśli używasz przede wszystkim polecenia SET, możesz skorzystać z opcji NX i opublikować niestandardowe zdarzenie na podstawie wyniku. Oczywiście nie jest to idealne podejście, ale jest to coś. https://redis.io/commands/set

Przykład zdarzenia niestandardowego:

PUBLISH [email protected]__:new_data_entry new_key 

Szczegóły na ten temat tutaj: https://redis.io/topics/notifications#type-of-events

nadzieję, że pomoże.

Powiązane problemy