domashka-1/README.md

1.7 KiB
Raw Blame History

LRU Cache Server

Высоконагруженный in-memory key-value сервер с алгоритмом вытеснения LRU и текстовым протоколом на C++.


Описание проекта

Система кэширования данных типа "ключ-значение" (аналог Redis/Memcached) для ускорения доступа к часто запрашиваемым данным в высоконагруженных приложениях.

Особенности:

  • Алгоритм вытеснения LRU (Least Recently Used)
  • Конкурентный доступ к данным
  • Множество TCP-подключений
  • Текстовый протокол

Функциональные требования

Команда Описание
SET key value [ttl] Сохранить пару с опциональным временем жизни
GET key Получить значение или "MISS"
DEL key Удалить пару
STATS Показать статистику (хиты/промахи, RPS)
CLEAR Очистить весь кэш
HELP Показать список доступных команд

Технологический стек

  • Язык: C++17/20
  • Компилятор: GCC 11+, Clang 14+, MSVC 2022
  • Система сборки: CMake 3.10+
  • Сеть: POSIX sockets (epoll/kqueue)
  • Хранилище: std::unordered_map + std::list для LRU
  • Многопоточность: std::thread + std::mutex + std::atomic

Структура проекта