Redis のデータベース サイズとメモリの比率は?
たとえば、80MB のデータベースがある場合、Redis はどのくらいの RAM を使用しますか (通常の Web アプリで使用した場合)?
Redis は、ディスクよりも少し多くの RAM を使用します。ダンプファイル形式は、おそらくもう少し密集しています。これは、実際の運用システム (Ubuntu 10.04 で Redis 2.0.4 を実行する 64 ビット EC2 ラージ インスタンス) からの数値です。
$ redis-cli info | grep used_memory_human
used_memory_human:1.36G
$ du -sh /mnt/data/redis/dump.rdb
950M /mnt/data/redis/dump.rdb
ご覧のとおり、ダンプファイルはメモリ使用量よりも数百 MB 小さくなっています。
最終的には、データベースに何を保存するかによって異なります。私は主にハッシュを持っていますが、ほんの数セット (おそらく 1% 未満) しかありません。非常に大きなオブジェクトを含むキーはなく、オブジェクトの平均サイズは 889 バイトです。
Redis データベースはメモリに格納されるため、80 MB のデータベースは RAM で 80 MB を占有します。
Redis はプログラムを使用する非常に少ないメモリであり、ウェブサイトのこの例から、「キーが 0 から 999999 までの自然数であり、文字列 "Hello World" が値として 100MB [の Ram] を使用する 100 万個のキーであることがわかります。 "。私の Redis アプリは約 300kb から 500kb の RAM を使用するため、80mb のデータベースに到達するには大量のデータが必要になります。Redis はデータベースのディスク スナップショットも保存するため、RAM に 80 MB、ハード ドライブに 80 MB が必要です。