Redis は、メモリが不足している場合にデータを処理する方法を制御するための複数のメモリ削減戦略を提供します。これらの戦略には次のものが含まれます。 noeviction: データが失われないようにメモリのエビクションを無効にします。 volatile-lru: 長期間使用されておらず、有効期限が設定されているキーを削除します。 volatile-ttl: 有効期限が設定されているキーのうち、有効期限が最も短いキーを削除します。 volatile-random: 有効期限が設定されたキーをランダムに削除します。 allkeys-lru: 有効期限が設定されていないキーを含め、長期間使用されていないすべてのキーを削除します。 allkeys-random: 有効期限が設定されていないキーを含む、すべてのキーをランダムに削除します。 eviction-algo:
Redis のメモリエビクション戦略以降
#Redis は、コントロールにさまざまなメモリエビクション戦略を提供しますRedis インスタンスのメモリが不足したときにデータがどのように処理および削除されるか。 Redis で使用できるメモリ削除戦略は次のとおりです:
1. noeviction (デフォルト)
- 説明: メモリ削除を無効にします。 Redis データが積極的に消去されることはありません。
- 利点: データが失われることがないため、高いデータ耐久性が必要なシナリオに適しています。
- 欠点: メモリが使い果たされると、Redis は新しい書き込みの受け入れを停止し、パフォーマンスの問題が発生する可能性があります。
2. volatile-lru
- 説明: 長期間使用されていないキーを削除します。有効期限が設定されています。
- 利点: メモリが限られている場合、期限切れのキーを解放し、メモリ領域を解放します。
- 欠点: 期限切れのキーがまだ使用されている可能性があり、データが失われる可能性があります。
#3. volatile-ttl
#説明: - 有効期限が設定されている最も短い有効期限を持つキーを削除します。時間。
利点: - まだ必要になる可能性のある期限切れのキーを保持しながら、メモリ領域を解放します。
欠点: - まだ価値のあるキーが早期に廃止される可能性があります。
4. volatile-random
説明: - 有効期限が設定されたキーをランダムに削除します。
利点: - シンプルかつ公平で、期限切れのキーの蓄積を回避します。
欠点: - まだ価値のあるキーが削除される可能性があります。
5. allkeys-lru
説明: - 長期間使用されていないキーをすべて削除します。有効期限が設定されているかどうかは関係ありません。
利点: - メモリ領域を解放します。有効期限が設定されていないキーが多数あるシナリオに適しています。
欠点: - まだ価値のあるキーが削除される可能性があります。
6. allkeys-random
説明: - 有効期限が設定されているかどうかに関係なく、すべてのキーをランダムに削除します。 。
利点: - シンプルかつ公平で、キーのスタックを回避します。
欠点: - まだ価値のあるキーが削除される可能性があります。
7. eviction-algo (Redis 4.0 の新機能)
説明: - エビクション戦略をカスタマイズし、Lua を使用します。スクリプトは削除ルールを指定します。
利点: - 高度なカスタマイズ性を提供し、ユーザーは特定のニーズに基づいて複雑な削除ルールを作成できます。
欠点: - 追加の Lua スクリプトを作成する必要があり、開発コストが高くなる可能性があります。
以上がRedis のメモリ削除戦略は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。