DBAtlas · データベース運用アトラス

キースペース通知でキーの削除と有効期限切れのイベントを監視する

Redisメンテナンス

コマンド

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 ""

概要

キーに関するイベント (expire、del、set など) を pub/sub チャネルに発行し、どのキーがいつ削除または期限切れになったかをリアルタイムで確認できるようにする。

使用する場面

キーが「勝手に消える」場合にどのコマンドまたは有効期限切れが原因かを証明するため、または有効期限切れイベントに依存するワークフロー (セッション終了) にイベントを供給するため。

注意

イベントは CPU とネットワークの負荷を増やす。特に 'A' (全クラス) は高負荷システムでコストが高いため、必要なクラスのみを有効にし、終わったら無効にする。pub/sub は送りっぱなし (fire-and-forget) である: 接続していないサブスクライバーはイベントを受け取れず、何も永続化されない。expired イベントは TTL の時点ではなく、キーが実際に削除された時点 (アクセス時またはバックグラウンドの expire サイクルによる) で生成される。

DBAtlas で開く →

関連項目