Monitorar eventos de exclusão e expiração de chaves com keyspace notifications
RedisManutençãoComando
CONFIG GET notify-keyspace-events
# E: keyevent channel, x: expire events, g: generic commands (DEL, EXPIRE, RENAME):
CONFIG SET notify-keyspace-events Exg
# Listen to expire and del events in db 0:
redis-cli -h redis1 -p 6379 --csv PSUBSCRIBE '__keyevent@0__:expired' '__keyevent@0__:del'
# Turn off:
CONFIG SET notify-keyspace-events ""O que faz
Publica eventos sobre chaves (expire, del, set etc.) em canais pub/sub para que você possa acompanhar ao vivo qual chave foi apagada ou expirou e quando.
Quando usar
Para provar qual comando ou expiração remove chaves quando elas 'somem sozinhas', ou para alimentar fluxos que dependem de eventos de expiração (fechamento de sessão).
Atenção
Os eventos adicionam carga de CPU e de rede; 'A' (todas as classes) é especialmente caro em sistemas movimentados, então habilite só as classes de que precisa e desligue-as depois. O pub/sub é fire-and-forget: um assinante que não está conectado perde o evento, e nada é persistido. O evento expired é gerado quando a chave é de fato apagada (no acesso ou pelo ciclo de expire em background), não no momento do TTL.