| README.md | ||
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