Добавил описание проекта
This commit is contained in:
commit
df3c44d40d
44
README.md
Normal file
44
README.md
Normal 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
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Структура проекта
|
||||||
|
|
||||||
Loading…
Reference in a new issue