2016-07-28 4 views
-1

Есть ли ограниченный RAM-кеш LRU для Rust? Я хочу указать ограничение 30 МБ, и когда он перейдет через лимит, он начнет удалять записи LRU.Rust RAM ограниченный кеш LRU?

Я могу найти number of entries limited.

+0

Что означает 30 МБ? Является ли 30MB общей площадью кеша + содержит ключ/значения? Или просто полезная нагрузка? Как вы учитываете значения, которые выделяются? И что, если некоторые ценности разделяют некоторые части, например, с шаблоном FlyWeight? Нужно ли учитывать накладные расходы из-за недостаточного использования выделенных блоков памяти? Накладные расходы на структуры данных распределителя? Фрагментация? Тот факт, что сам распределитель кэширует страницы памяти, прежде чем выпускать их в ОС? => представьте себе кошмар в создании кеша, который пытается быть тщательным в учете памяти ... –

ответ

2

fn set_capacity(&mut self, capacity: usize) устанавливает количество пар ключей, которые может хранить кеш. Поэтому, если вы хотите ограничить его до 30 МБ, вам нужно будет рассчитать размер пары ключ/значение и разделить 30 МБ на размер пары ключ/значение, чтобы получить емкость, к которой нужно установить кеш LRU.

Смежные вопросы