Назад к задачам
Junior — Senior
11

Создание потокобезопасного кеша с автоматическим истечением TTL для объектов User

Компании, где спрашивали:

VK CloudVK Cloud
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо реализовать кеш в оперативной памяти, который: • Сохраняет структуры типа User, используя поле User.ID в качестве ключа. • Автоматически удаляет записи после заданного времени жизни (по умолчанию 3 секунды). • Предоставляет следующие операции:

  • Set(user User, ttl time.Duration) – добавить элемент в кеш с указанным TTL.
  • Get(id string) (User, bool) – получить элемент по идентификатору и флаг наличия.
  • Delete(id string) – удалить элемент из кеша. • Обеспечивает корректную работу в конкурентной среде (потокобезопасность).