Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
12
Самодельный потокобезопасный кэш с LRU‑очисткой
Условие задачи
Необходимо создать упрощённую реализацию сервиса, аналогичного Redis, которая будет работать в многопоточной среде. Реализация должна обеспечивать безопасный конкурентный доступ к хранимым данным и включать механизм LRU (Least Recently Used) для автоматического удаления наименее часто используемых записей.
type ThreadSafeCache interface {
Get(key string) (result string)
Set(key, value string)
}
Для обеспечения потокобезопасности следует использовать синхронизацию (например, mutex’ы) и продумать стратегию обновления порядка использования элементов, чтобы корректно работать с LRU‑политикой при одновременных запросах.