Redis バックアップ (.rdb) ファイルが ElastiCache クラスターの BytesUsedForCache メトリクスより常に小さいのはなぜですか?

最終更新日: 2021 年 2 月 16 日

Amazon ElastiCache for Redis を使用しています。Redis バックアップ (.rdb) ファイルが常にクラスターの BytesUsedForCache メトリクスより小さいのはなぜですか?

解決方法

BytesUsedForCache メトリクスには、すべての目的のためのバイトが含まれます。これには、実際のキーサイズ、ヘッダー、およびメモリの断片化が含まれます。また、有効期限が切れたキーも、Redis が受動的または能動的に非同期で削除するまでメモリを消費します。詳細については、Redis.io ウェブサイトの「Expire key seconds - How Redis expires keys」をご参照ください。

ElastiCache は、分岐ありと分岐なしの両方のバックアッププロセスを使用します。どちらのプロセスも、ディスクにすべてのキーをダンプして .rdb ファイルを作成します。.rdb ファイルは、ポインタや期限切れのキーを使用せず、メモリの断片化、メタデータ、バッファを処理しません。つまり、バックアップファイルのサイズは BytesUsedForCache メトリクスよりも小さくなります。

例えば、Redis クラスターで BytesUsedforCache が 15 GiB と表示される場合があります。また、クラスターで大量の読み取り/書き込みリクエストがある間にバックアップが開始されたことを示す場合もあります。バックアッププロセスが完了すると、バックアップキャッシュサイズは 15 GiB ではなく 10 GiB または 12 GiB の範囲になります。これは、バックアップに期限切れのキーやポインターなどが含まれていないためです。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?