Keyspace notifications ile key silinme ve expire olaylarını izle
RedisBakımKomut
CONFIG GET notify-keyspace-events
# E: keyevent kanali, x: expire olaylari, g: genel komutlar (DEL, EXPIRE, RENAME):
CONFIG SET notify-keyspace-events Exg
# db 0'daki expire ve del olaylarini dinle:
redis-cli -h redis1 -p 6379 --csv PSUBSCRIBE '__keyevent@0__:expired' '__keyevent@0__:del'
# Kapat:
CONFIG SET notify-keyspace-events ""Ne yapar?
Key'ler üzerindeki olayları (expire, del, set vb.) pub/sub kanallarına yayınlatır; böylece hangi key'in ne zaman silindiği veya süresinin dolduğu canlı izlenebilir.
Ne zaman kullanılır?
Key'lerin 'kendiliğinden kaybolduğu' şikâyetinde silen komutu veya expire'ı kanıtlamak, ya da expire olayına bağlı iş akışlarını (oturum kapanışı) beslemek için.
Dikkat
Olaylar CPU ve ağ yükü getirir; özellikle 'A' (tüm sınıflar) yoğun sistemlerde pahalıdır, yalnızca gereken sınıfları aç ve iş bitince kapat. Pub/sub fire-and-forget'tir: bağlı olmayan abone olayı kaçırır, kalıcı değildir. expired olayı TTL anında değil, key gerçekten silindiğinde (erişimde veya arka plan expire döngüsünde) üretilir.