Techioz Blog

Redis キーの有効期限フック/レール内の通知

概要

Redis キーの有効期限が切れたら、(コールバック) メソッドを呼び出す必要があります。 redis(ruby gem)は通知メカニズムやコールバック登録を提供しますか?

ご協力をよろしくお願いいたします。

解決策

Redis の仕組み上、これは不可能です。 Redis でのキーの有効期限は非同期であり、キーの有効期限が切れたときのコールバック自体はありません。したがって、Ruby gem(redis-rb) はこの機能自体をサポートしません。おそらく、構築しているソリューションをモデル化する別の方法があるでしょう。

完全を期すために、この動作が本当に必要な場合は、これを機能させる方法が 1 つあることを付け加えておきます。マスター ノードのレプリケーション ログに接続し、キーの期限切れに起因する DEL 操作を監視し、必要なコールバックを呼び出すことができます。