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 を呼び出すことを許可する必要があります。これにより、ロールはこのタスクのみを実行するように制限されます。
手順
OOS コンソールに移動します。
左側のナビゲーションウィンドウで、 をクリックします。
[作成] をクリックします。
スケジュール化された O&M タスクを構成します。
説明このトピックでは、主要なステップのみを説明します。他のパラメーターの詳細については、「CloudOps Orchestration Service」をご参照ください。
スケジュール設定
この例では、[定期実行] を選択します。タスクが毎日 04:00 と 16:00 に実行されるようにスケジュールします。

[終了時刻] を 2026-01-01 00:00:00 に設定します。スケジュール化された O&M タスクは、指定された時刻に実行を停止します。
テンプレートの選択
[パブリックテンプレート] セクションで、ACS-Redis-FlushExpireKeys テンプレートを検索して選択します。
テンプレートパラメーターの設定
インスタンスが配置されているリージョンを選択し、ターゲットインスタンスを選択します。
[実行の権限ソース] には、前提条件セクションで作成した RAM ロールを選択します。
実行設定 (オプション)
このタブではデフォルト設定を維持します。
[作成] をクリックし、表示されるダイアログボックスで [確認] をクリックします。
タスクの [実行ステータス] が [有効] の場合、タスクは [スケジュール設定] に基づいて自動的に実行されます。
次のステップ
[スケジュール化された O&M] タスクリストで、ターゲットの Execution ID をクリックしてタスク詳細ページに移動します。このページでは、タスクの構成の表示や変更、実行の即時トリガー、または実行履歴の表示ができます。
期限切れのデータが削除され、メモリが解放された後、パフォーマンスモニタリングでインスタンスの [メモリ使用量] の減少を確認できます。
関連資料
OOS で [アラートおよびイベントベースの O&M] を構成することもできます。たとえば、平均メモリ使用量が 90% に達したときに FlushExpireKeys API を呼び出して期限切れのキーを削除できます。構成プロセスは、このトピックで説明されているものと似ています。開始するには、 に移動します。詳細については、「アラートトリガーの O&M タスクを作成する」をご参照ください。
Tair と Redis が期限切れのキーをパージする方法については、「Tair と Redis はどのように期限切れのキーをパージしますか?」をご参照ください。