2016-07-28 108 views
-1

Rust是否有RAM限制的LRU緩存?我想指定一個30 MB的限制,當它超過限制時,它開始刪除LRU條目。我可以找到number of entries limitedRust RAM有限的LRU緩存?

+0

30MB是什麼意思?緩存+包含的鍵/值的總佔用空間是30MB?或者只是有效載荷?你如何解釋分配的價值?如果某些值與FlyWeight模式共享某些部分會怎樣?你是否需要考慮分配的內存塊使用不足的開銷?分配器數據結構的開銷?碎片?分配器本身在將它們釋放到操作系統之前緩存內存頁的事實? =>想象一下創建一個緩存的夢魘,它試圖在記憶會計中做到徹底...... –

回答

2

fn set_capacity(&mut self, capacity: usize)設置緩存可容納的鍵值對的數量。因此,如果您想將其限制爲30MB,則需要計算鍵/值對的大小,並將30MB除以鍵/值對的大小以獲得您應該設置LRU緩存的容量。