このトピックでは、ApsaraDB for Redis で期限切れキーを自動的にクリアするためのデフォルトポリシーと、期限切れキーを手動でクリアするための方法について説明します。
背景情報
インスタンスにデータの有効期限ポリシーが設定されているにもかかわらず、インスタンス内のキーの数が予想よりも大幅に多い場合、または特定の時点または特定の時間範囲(1~2時間など)で多数のキー(数万または数十万など)の有効期限が切れる場合、インスタンスには削除される期限切れキーが過剰に含まれている可能性があります。
デフォルトポリシー
ApsaraDB for Redis は、期限切れキーを自動的にクリアするために、次のデフォルトポリシーを提供します。
アクティブな有効期限切れ:システムは期限切れキーを定期的に検出してクリアします。
パッシブな有効期限切れ:期限切れキーにアクセスすると、システムはキーをクリアします。
強制エビクション:インスタンスのメモリ使用量が
Maxmemory値に達すると、操作がブロックされ、キーがエビクトされるか、メモリ不足 (OOM) エラーがトリガーされます。この場合、Redis はvolatile-lruポリシーを使用します。詳細については、「サポートされているパラメーター」トピックのmaxmemory-policyパラメーターをご参照ください。サポートされているパラメーター
上記のポリシーには、手動操作は含まれません。
期限切れキーをすばやくクリアする
次のセクションでは、期限切れキーをすばやくクリアするためのさまざまな方法について説明します。
コンソールのインスタンス詳細ページで データの消去 機能を使用して、インスタンスからすべての期限切れキーをすばやくクリアします。詳細については、「データのクリア」をご参照ください。
警告この方法は最も時間がかかりませんが、より多くのインスタンスリソースを消費します。これはオンラインビジネスに影響を与える可能性があります。注意して進めてください。この操作は、オフピーク時に実行することをお勧めします。
CloudOps Orchestration Service (OOS) コンソールでスケジュールされた O&M タスクを設定して、オフピーク時に期限切れキーを削除します。詳細については、「OOS を使用して Tair または Redis から期限切れキーを定期的に削除する」をご参照ください。
hzを大きい値に設定して、期限切れキーをより頻繁にクリアします。詳細については、「バックグラウンドタスクの動的周波数制御を有効にする」をご参照ください。重要値が大きいほど、インスタンスが消費する CPU リソースが多くなります。
CPU に過剰な負荷がかからないように、値を 10 ずつ増やして、インスタンスの CPU 使用率を観察することをお勧めします。
データベースに無関係なキーが長期間保存されないように、必要に応じてキーの Time To Live (TTL) 有効期限ポリシーを設定します。
関連情報
適用範囲
ApsaraDB for Redis