Tair (Redis OSS-compatible) インスタンスは、有効期限切れのデータを段階的に削除するため、有効期限が切れた後もメモリを占有し続けます。CloudOps Orchestration Service (OOS) で 定期 O&M タスクを設定し、オフピーク時間にすべてのキーをスキャン (SCAN) して、有効期限切れのキーを即座に削除し、メモリを解放することができます。
背景情報
読み取り / 書き込みパフォーマンスを確保するために、Tair (Redis OSS-compatible) インスタンスは非同期削除ロジックを使用します。データの有効期限が切れても、インスタンスは即座に削除しません。代わりに、有効期限切れのキーはアクティブな削除 (定期的にスキャンして一部の有効期限切れのキーを削除するバックグラウンドプロセス) とパッシブな削除 (クライアントがアクセスを試みたときにキーが削除される) によって段階的に削除されます。極端なケースでは、大量のキーが一度に有効期限切れになると、メモリの解放に大幅な時間がかかる場合があります。
無料の OOS サービスを使用して、FlushExpireKeys API を定期的に呼び出すことで、すべてのキーをスキャンして有効期限切れのキーを即座に削除できます。
SCAN コマンドはすべてのデータをスキャンし、インスタンスの CPU 負荷を増加させます。このタスクはオフピーク時間に実行してください。
前提条件
OOS サービスが Tair (Redis OSS-compatible) サービスにアクセスできるように、RAM ロールを作成してください。詳細については、「OOS の RAM ロールを設定して権限を付与する」をご参照ください。
-
ロールに [AliyunKvstoreFullAccess] システムポリシーを付与できます。これにより、すべての Tair (Redis OSS-compatible) リソースを管理できるようになります。
-
または、最小権限の原則に基づいてカスタムポリシーを作成できます。このポリシーにより、OOS は Tair (Redis OSS-compatible) の
DescribeInstancesAPI とFlushExpireKeysAPI のみを呼び出すことができ、ロールの権限をこのタスクに制限できます。
操作手順
-
OOS コンソールに移動します。
-
左側のナビゲーションウィンドウで、 を選択します。
-
[Create] をクリックします。
-
定期 O&M タスクを設定します。
説明このトピックでは、主要なパラメータについてのみ説明します。その他のパラメータの詳細については、「CloudOps Orchestration Service」をご参照ください。
スケジュール設定
この例では、[Executed Periodically] を選択し、毎日 04:00 と 16:00 にタスクを実行します。
[Repeat Cycle] で [cron 式] を選択し、次のようにフィールドを設定します:[Minute] を
0、[Hour] を4,16、[Day-of-month] を?、[Month] を*、[Day-of-week] を*に設定します。[Time Zone] で(GMT+08:00) Asia/Shanghaiを選択します。[Effective Time] を2025-07-23 00:00:00に設定します。[End Time] を 2026-01-01 00:00:00 に設定します。定期 O&M タスクはこの時刻に停止します。
テンプレートの選択
[パブリックテンプレート] セクションで、[ACS-Redis-FlushExpireKeys] テンプレートを検索して選択します。
テンプレートパラメータの設定
-
インスタンスのリージョンとターゲットインスタンスを選択します。
-
[実行権限ソース] で、「前提条件」セクションで作成した RAM ロールを選択します。
実行設定 (オプション)
このタブではデフォルト設定のままにしておくことができます。
-
-
[Create] をクリックし、確認ダイアログボックスで [OK] をクリックします。
タスクの [実行ステータス] が [Active] の場合、「[スケジュール設定]」に従って自動的に実行されます。
次のステップ
[定期 O&M] タスクリストで、タスクの [実行 ID] をクリックすると、詳細ページが開きます。このページでは、タスク設定の表示または変更、即時実行、実行履歴の表示ができます。
有効期限切れのデータが削除されてメモリが解放されると、パフォーマンスモニタリングでインスタンスの [メモリ使用率] メトリックが減少します。
関連ドキュメント
-
OOS で [アラート / イベント O&M] を設定することもできます。たとえば、平均メモリ使用率が 90% に達したときに FlushExpireKeys API を呼び出して有効期限切れのキーを削除できます。設定プロセスはこのソリューションと同様で、エントリポイントは です。詳細については、「アラートベースの O&M タスクを作成する」をご参照ください。
-
Tair と Redis が有効期限切れのデータを削除する方法の詳細については、「Tair と Redis が有効期限切れのキーをパージする方法」をご参照ください。