2016-07-28 4 views
-1

RustにはRAMの制限付きLRUキャッシュがありますか?私は30 MBの制限を指定したい、それが限界を超えたときにLRUのエントリの削除を開始します。Rust RAM限定LRUキャッシュ?

number of entries limitedが見つかりました。

+0

30MBは何を意味しますか?キャッシュの総フットプリント+ 30MBにキー/値が含まれていますか?それともペイロードだけ?あなたが割り当てた値をどのように考慮しますか?そして、もしいくつかの値がFlyWeightパターンのようないくつかの部分を共有するなら、どうでしょうか?割り当てられたメモリブロックの不足によるオーバーヘッドを考慮する必要がありますか?アロケータのデータ構造のオーバーヘッド?断片化?アロケータ自体がメモリページをOSに解放する前にキャッシュするという事実? =>メモリ会計で徹底しようとしているキャッシュを作成する際の悪夢を想像してみてください... –

答えて

2

fn set_capacity(&mut self, capacity: usize)は、キャッシュが保持できるキー値のペア数を設定します。したがって、30MBに制限したい場合は、キーと値のペアのサイズを計算し、LRUキャッシュを設定する容量を得るために30MBをキー/値のペアのサイズで割る必要があります。

関連する問題