Redis自动削除キーを実装する方法
自動的にキーを削除する機能を実装するには、Redisには2つの方法があります。
- TTL(タイムツーライブ)設定でキーの有効期限を設定する。キーを設定する際に有効期限を指定しておけば、有効期限が到来するとRedisが自動的にキーを削除する。EXPIREコマンドを使用して有効期限を設定できる。例えば、EXPIRE key_name seconds。
- Pub/Sub(公開/購読)機能を持つ Redis を使用し,一定の時間でキーを自動的に削除したい場合は、次の手順を実行します。
- メッセージを特定のチャネルに投稿する定期ジョブ(例:1分ごとに実行)を作成します。
- メッセージを受信するとコールバック関数をトリガーする、Redisのチャンネルをサブスクライブする。
- コールバック関数でDELコマンドを呼び出すことで、指定されたキーを削除できます。
コードの記述により、実現でき、PythonのRedisクライアントライブラリ(例えば、redis-py)を利用可能です。
注意すべきなのは、いずれの方法も時間ベースの自動削除キーの仕組みであるという点です。一つめの方法は、期限時間の設定によって実現し、期限時間が到来すると、Redisは自動的にキーを削除します。2つめの方法は、定期タスクを使用して定期的に有効期限が切れたキーを確認および削除することによって実現します。