技術共有

Redis データの有効期限と陳腐化戦略

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Redis データの有効期限と陳腐化戦略

有効期限ポリシー

期限付き有効期限

設定でkey有効期限と同時に、keyタイマーを作成してタイマーを作動させるkey有効期限が来たら、キーを削除します。有効期限が切れるとすぐに消去されます。この戦略は期限切れのデータをすぐに消去でき、メモリに非常に優しいですが、大量のメモリを消費します。CPUリソースは期限切れのデータを処理するために使用されるため、キャッシュの応答時間とスループットに影響します。

遅延有効期限

にアクセスするときのみ、keyキーの有効期限が切れている場合は、有効期限が切れているかどうかを判定し、有効期限が切れている場合はクリアします。この戦略により節約を最大化できますCPUリソースですが、記憶には非常に不親切です。極端な場合には、大量の有効期限が切れる可能性がありますkey再度アクセスされていないため、クリアされず、多くのメモリを消費します。

定期的に期限切れにする

一定期間ごとに、一定数のデータベースがスキャンされます。expires辞書にある一定数の単語key、期限切れをクリアしますkey 。この戦略は、最初の 2 つの戦略の折衷案です。スケジュールされたスキャンの時間間隔と各スキャンの制限された消費時間を調整することで、さまざまな状況下でもこれを実現できます。CPU最適なバランス効果を実現するためのメモリ リソース。

排除戦略

Redis のメモリ削減戦略とは、Redis のキャッシュ用メモリが不十分な場合に新しいメモリを適用する方法を指します。

  • noeviction: メモリが新しく書き込まれたデータを収容するのに十分でない場合、新しい書き込み操作はエラーを報告します。
  • allkeys-lru: メモリが新しく書き込まれたデータを収容するのに十分でない場合は、キー スペース内の最も最近使用されていないキーを削除します。
  • allkeys-random: メモリが新しく書き込まれたデータを収容するのに十分でない場合、キーはキー空間からランダムに削除されます。
  • volatile-lru: メモリが新しく書き込まれたデータを収容するのに十分でない場合は、有効期限が設定されたキー空間内の最も最近使用されていないキーを削除します。
  • volatile-random: メモリが新しく書き込まれたデータを収容するのに十分でない場合、キーは有効期限が設定されてキー空間からランダムに削除されます。
  • volatile-ttl: メモリが新しく書き込まれたデータを収容するのに十分ではない場合、有効期限が設定されたキー空間では、有効期限が早いキーが最初に削除されます。

要約する

有効期限戦略の選択

遅延削除と定期削除の組み合わせモード。

消去戦略の選択

allkeys-lru