commit df3c44d40d39044c9b582f26d36437197c4d0881 Author: user_2i Date: Wed Sep 9 14:41:18 2026 +0500 Добавил описание проекта diff --git a/README.md b/README.md new file mode 100644 index 0000000..7f9521b --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# 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 + +--- + +## Структура проекта +