Redis

Redis (Remote Dictionary Server) — відкрите in-memory сховище даних типу ключ-значення, що використовується як кеш, брокер повідомлень та швидка база даних для даних із коротким часом життя.

Опис

Redis зберігає всі дані в оперативній пам'яті, що забезпечує субмілісекундний час відповіді на операції читання та запису. На відміну від простих кешів, Redis підтримує структуровані типи даних: рядки (strings), списки (lists), множини (sets), хеші (hashes), відсортовані множини (sorted sets) та потоки (streams). Кожен тип має власний набір атомарних операцій, що дозволяє реалізовувати складні паттерни без проміжної логіки в застосунку.

Persistence у Redis реалізована двома механізмами. RDB (Redis Database) — це точкові знімки стану на диск за розкладом. AOF (Append Only File) — журнал усіх операцій запису, що дозволяє відновити стан після збою до останньої операції. Обидва механізми можна комбінувати для балансу між продуктивністю та надійністю.

Pub/Sub та Streams перетворюють Redis на легкий брокер повідомлень. Сервіс публікує повідомлення в канал, один або кілька підписників отримують їх асинхронно. Streams (введені в Redis 5.0) є більш надійною альтернативою з підтримкою груп споживачів та підтвердженням обробки — схожа семантика на Kafka, але значно простіша в налаштуванні.

Redis Sentinel забезпечує автоматичне перемикання між вузлами (failover) при відмові основного. Redis Cluster ділить дані між вузлами (sharding) для горизонтального масштабування. Для більшості UMTC-сценаріїв достатньо одного вузла з AOF persistence.

В контексті UMTC

У UMTC Redis виконує кілька функцій. По-перше, кешування результатів пошуку Wiki: повторні запити до FTS5 обробляються без звернення до SQLite, що знижує навантаження на диск. По-друге, зберігання сесій MAS OAuth: токени та стан автентифікації з TTL, після якого сесія автоматично анулюється. По-третє, черга завдань для асинхронних операцій (наприклад, повторна індексація вмісту при оновленні статей).

Redis розгортається як Docker-контейнер у тій самій Docker Compose мережі, що і Wiki-бекенд. З'єднання між контейнерами відбувається через внутрішню мережу Docker без відкриття зовнішніх портів.

Пов'язані терміни

  • docker — Redis розгортається як Docker-контейнер в єдиній мережі з іншими сервісами
  • postgresql — реляційна СУБД для persistent-даних; Redis доповнює її як швидкий кеш
  • caddy — реверс-проксі, що стоїть перед сервісами, які використовують Redis як кеш

Посилання

Шлях: glossary/redis.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications