LRU Cache Rust Implementation
Потокобезопасный кеш с политикой вытеснения Least Recently Used (LRU), поддержкой TTL и ограничениями по размеру.
Установка
Добавьте в Cargo.toml:
[]
= { = "./lru-cache-rs" }
Использование
Создание кеша
use SafeLRUCache;
use Duration;
// Создать кеш на 100 элементов с максимальным размером 1MB
let cache = new;
Основные операции
Добавление элемента:
// Без TTL
cache.put;
// С TTL (5 секунд)
cache.put;
Получение элемента:
if let Some = cache.get
Очистка просроченных элементов:
cache.clear_expired;
Параметры
capacity: максимальное количество элементовmax_size: максимальный общий размер в байтах (опционально)ttl: время жизни элемента (опционально)size: размер элемента в байтах (используется для ограничения по размеру)
Особенности
- Автоматическое вытеснение старых элементов при достижении лимитов
- Потокобезопасность (можно использовать из нескольких потоков)
- Поддержка времени жизни элементов (TTL)
- Два критерия вытеснения: по количеству и по размеру
Пример
use thread;
let cache = new;
cache.put;
cache.put;
assert_eq!;
// Добавление нового элемента вытеснит "b" (по принципу LRU)
cache.put;
assert_eq!;