すべてのプロダクト
Search
ドキュメントセンター

Tair (Redis® OSS-Compatible):OOS を使用して Tair または Redis の期限切れキーを定期的に削除する

最終更新日:Nov 09, 2025

Tair (Redis OSS-compatible) のデータが期限切れになると、インスタンスはデフォルトのポリシーに基づいてデータを段階的に削除します。その結果、期限切れのデータがメモリを占有し続けます。CloudOps Orchestration Service (OOS) で [スケジュール化された O&M] タスクを構成して、オフピーク時にすべてのキーをスキャン (SCAN) し、期限切れのキーをすぐに削除できます。このプロセスにより、占有されているメモリが解放されます。

背景情報

Tair (Redis OSS-compatible) インスタンスは、読み取りおよび書き込みパフォーマンスを確保するために非同期削除を使用します。データが期限切れになっても、インスタンスはすぐに削除しません。代わりに、アクティブ削除とパッシブ削除の 2 つのメソッドを使用して、期限切れのキーを段階的に削除します。アクティブ削除では、バックグラウンドプロセスが定期的にスキャンして、一部の期限切れキーを削除します。パッシブ削除は、ユーザーが期限切れのキーにアクセスしようとしたときに発生します。このプロセスのため、期限切れのデータはメモリを占有し続けます。極端な場合、大量のデータが一度に期限切れになると、削除とメモリ解放のプロセスに時間がかかることがあります。

このソリューションでは、無料の OOS サービスを使用して、FlushExpireKeys API を定期的に呼び出します。その後、インスタンスはすべてのキーをスキャン (SCAN) し、期限切れのキーをすぐに削除します。

重要

SCAN コマンドはすべてのデータをスキャンするため、インスタンスの CPU 負荷が増加します。このタスクはオフピーク時に実行してください。

前提条件

OOS が Tair (Redis OSS-compatible) サービスにアクセスするための RAM ロールを作成します。詳細については、「OOS の RAM ロールを設定して権限を付与する」をご参照ください。

  • ロールに AliyunKvstoreFullAccess システムポリシーを付与します。このポリシーにより、RAM ロールはすべての Tair (Redis OSS-compatible) リソースを管理できます。

  • または、最小限の権限でカスタムポリシーを作成することもできます。このポリシーでは、OOS が Tair (Redis OSS-compatible) の `DescribeInstances` および `FlushExpireKeys` API を呼び出すことを許可する必要があります。これにより、ロールはこのタスクのみを実行するように制限されます。

    RAM ロールのアクセスポリシーの例:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "kvstore:DescribeInstances",
                    "kvstore:FlushExpireKeys"
                ],
                "Resource": "*"
            }
        ]
    }

手順

  1. OOS コンソールに移動します。

  2. 左側のナビゲーションウィンドウで、[自動化タスク] > [スケジュール化された O&M] をクリックします。

  3. [作成] をクリックします。

  4. スケジュール化された O&M タスクを構成します。

    説明

    このトピックでは、主要なステップのみを説明します。他のパラメーターの詳細については、「CloudOps Orchestration Service」をご参照ください。

    スケジュール設定

    この例では、[定期実行] を選択します。タスクが毎日 04:00 と 16:00 に実行されるようにスケジュールします。

    image

    [終了時刻] を 2026-01-01 00:00:00 に設定します。スケジュール化された O&M タスクは、指定された時刻に実行を停止します。

    テンプレートの選択

    [パブリックテンプレート] セクションで、ACS-Redis-FlushExpireKeys テンプレートを検索して選択します。

    テンプレートパラメーターの設定

    1. インスタンスが配置されているリージョンを選択し、ターゲットインスタンスを選択します。

    2. [実行の権限ソース] には、前提条件セクションで作成した RAM ロールを選択します。

    実行設定 (オプション)

    このタブではデフォルト設定を維持します。

  5. [作成] をクリックし、表示されるダイアログボックスで [確認] をクリックします。

    タスクの [実行ステータス][有効] の場合、タスクは [スケジュール設定] に基づいて自動的に実行されます。

次のステップ

[スケジュール化された O&M] タスクリストで、ターゲットの Execution ID をクリックしてタスク詳細ページに移動します。このページでは、タスクの構成の表示や変更、実行の即時トリガー、または実行履歴の表示ができます。

期限切れのデータが削除され、メモリが解放された後、パフォーマンスモニタリングでインスタンスの [メモリ使用量] の減少を確認できます。

関連資料

  • OOS で [アラートおよびイベントベースの O&M] を構成することもできます。たとえば、平均メモリ使用量が 90% に達したときに FlushExpireKeys API を呼び出して期限切れのキーを削除できます。構成プロセスは、このトピックで説明されているものと似ています。開始するには、[自動化タスク] > [アラートおよびイベントベースの O&M] に移動します。詳細については、「アラートトリガーの O&M タスクを作成する」をご参照ください。

  • Tair と Redis が期限切れのキーをパージする方法については、「Tair と Redis はどのように期限切れのキーをパージしますか?」をご参照ください。