Добавил описание проекта

This commit is contained in:
commit df3c44d40d

44
README.md Normal file
View file

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