Redis自动削除キーを実装する方法

自動的にキーを削除する機能を実装するには、Redisには2つの方法があります。

  1. TTL(タイムツーライブ)設定でキーの有効期限を設定する。キーを設定する際に有効期限を指定しておけば、有効期限が到来するとRedisが自動的にキーを削除する。EXPIREコマンドを使用して有効期限を設定できる。例えば、EXPIRE key_name seconds。
  2. Pub/Sub(公開/購読)機能を持つ Redis を使用し,一定の時間でキーを自動的に削除したい場合は、次の手順を実行します。
  1. メッセージを特定のチャネルに投稿する定期ジョブ(例:1分ごとに実行)を作成します。
  2. メッセージを受信するとコールバック関数をトリガーする、Redisのチャンネルをサブスクライブする。
  3. コールバック関数でDELコマンドを呼び出すことで、指定されたキーを削除できます。

コードの記述により、実現でき、PythonのRedisクライアントライブラリ(例えば、redis-py)を利用可能です。

注意すべきなのは、いずれの方法も時間ベースの自動削除キーの仕組みであるという点です。一つめの方法は、期限時間の設定によって実現し、期限時間が到来すると、Redisは自動的にキーを削除します。2つめの方法は、定期タスクを使用して定期的に有効期限が切れたキーを確認および削除することによって実現します。

bannerAds