# 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 --- ## Структура проекта