このトピックでは、期限切れキーを自動的に削除するためのデフォルトポリシーと、ApsaraDB for Redisで期限切れキーを手動で削除する方法について説明します。
背景情報
インスタンスにデータ有効期限ポリシーと予想よりも多くのキーがある場合、または特定の時点または特定の時間範囲内に多数のキーが期限切れになる場合 (たとえば、1〜2時間以内に数十万のキーが期限切れになる場合) 、インスタンスには削除される必要のある過剰な期限切れキーが含まれる可能性があります。
デフォルトポリシー
ApsaraDB for Redisには、期限切れのキーを自動的に削除するための次のデフォルトポリシーがあります。
検出と削除: システムは定期的に期限切れのキーを検出して削除します。
アクセスと削除: 期限切れのキーにアクセスすると、システムはキーを削除します。
強制的に削除: インスタンスのメモリ使用量が
Maxmemory
値に達すると、操作がブロックされたり、キーが削除されたり、メモリ不足エラーが発生したりします。 この場合、ApsaraDB for Redisはvolatile-lru
ポリシーを使用します。 詳細については、サポートされているパラメーターのmaxmemory-policy
パラメーターをご参照ください。
上記のポリシーは手動操作を含まない。
期限切れのキーを手動で削除する
次のいずれかの方法を使用して、期限切れのキーを手動で削除することもできます。
ApsaraDB for Redisコンソールのデータの消去機能を使用してデータを削除します。 詳細については、「データの削除」をご参照ください。
警告この方法では、より多くのインスタンスリソースを消費する時間が最も少なくなります。 これはオンラインビジネスに影響を与える可能性があります。 作業は慎重に行ってください。 そのため、ピーク時間外に操作を実行することを推奨します。
期限切れのキーをより頻繁にクリアするには、
hz
をより大きな値に設定します。 詳細については、「バックグラウンドタスクの動的周波数制御の有効化」をご参照ください。重要値が大きいほど、インスタンスが消費するCPUリソースが多くなります。 作業は慎重に行ってください。
CPUの過度の負荷を防ぐために、値を10単位で増やし、インスタンスのCPU使用率を監視することを推奨します。
データベースに無関係なキーが長期間保存されないように、必要に応じてキーの有効期限 (TTL) ポリシーを設定します。
関連ドキュメント
大きなキーとホットキーの特定と処理
適用範囲
ApsaraDB for Redis
テア