私はRedisを初めて使用し、いくつかのデータをキャッシュして、メモリ使用量/パフォーマンスがMemcachedなどの他のオプションとどのように比較されるかを試しています。IRedisClient経由で ServiceStack.Redis クライアント ライブラリを使用しています
私は Redis をテストしており、25,000 個のキー/値オブジェクトは、100MB の dump.rdb ファイルで約 250MB のメモリをプッシュしています。これよりも多くをキャッシュする必要があり、可能であればメモリ消費を削減したいと考えています。私の推測では、各キャッシュ アイテムのテキスト (JSON blob) のサイズは約 4k ですが、私の基本的な計算が正しければ、少なくともメモリ フットプリントの観点から、各アイテムは Redis で約 10k を消費しています。ダンプ サイズとメモリ内サイズの大きな違いは、私にとっては少し憂慮すべきことです。
私は現在64ビットVMでも実行しています.32ビットに比べて多くの余分なスペースを浪費していることを理解しているので、それも調べます. redis は、ポインタごとに 2 倍のメモリを必要とするようです (キャッシュされたキー/値ごとに?)。これが 2.5 倍のディスクとメモリの比率の由来でしょうか?
Redis に出入りする途中でデータの圧縮/解凍を処理するコードを自分の側で記述できることは理解していますが、StreamExtensionsと同様のことを行うようにクライアント ライブラリを構成する方法があるかどうかに興味があります。
使用パターンは準備ができており、書き込みの頻度が低く、キャッシュ更新書き込みのバッチ処理が行われています。
とにかく、特定のメモリ量でより多くのキャッシュ アイテムを取得する方法についての提案を探しています。