hostprofi.ru
Подобрать хостинг
Термин·буква R

Redis

краткое определение

Redis (Remote Dictionary Server) — in-memory хранилище данных со структурами данных: строки, хэши, списки, множества, sorted sets. Используется как кеш, брокер сообщений, хранилище сессий и временных данных. Поддерживает персистентность через RDB-снапшоты и AOF-лог.

Redis — открытое in-memory хранилище данных, созданное Сальваторе Санфилиппо в 2009 году. Данные хранятся в оперативной памяти (RAM) — отсюда субмиллисекундная латентность. Redis поддерживает разнообразные структуры данных и используется как кеш, брокер сообщений, хранилище сессий и очередей задач.

Структуры данных

  • String — базовый тип. Строка, число, бинарные данные до 512 МБ. Команды: GET, SET, INCR.
  • Hash — словарь полей. Подходит для хранения объектов. HGET, HSET, HGETALL.
  • List — двусвязный список. LPUSH, RPOP. Используется для очередей.
  • Set — множество уникальных строк. SADD, SMEMBERS, SINTER.
  • Sorted Set (ZSet) — множество с числовым весом (score). Рейтинги, лидерборды.
  • Pub/Sub — подписка на каналы для передачи сообщений в реальном времени.

Персистентность

Redis опционально сохраняет данные на диск:

  • RDB — периодические снапшоты. Быстрый старт, возможна потеря данных за период между снапшотами.
  • AOF — лог каждой операции записи. Минимальная потеря данных, медленнее RDB.

История

Redis создан в 2009 году итальянским программистом Сальваторе Санфилиппо (antirez). В 2010 году разработку поддержала VMware, с 2015 — Redis Labs. В 2024 году Redis Ltd. перешла на лицензию RSALv2/SSPLv1, что вызвало форк Valkey под Apache 2.0.

Связь с хостингом

Redis — стандартный компонент продакшн-стека PHP/Python/Node.js. На VDS устанавливается командой apt install redis-server. Для WordPress кеширует запросы к MySQL через плагин Redis Object Cache. Управляемые сервисы: AWS ElastiCache, Redis Cloud. Конфигурация maxmemory-policy allkeys-lru обязательна при использовании как кеша.

Redis в хостинге

Redis используется в трёх основных сценариях на хостинге: кэш страниц и объектов (снижает нагрузку на БД в 10--100 раз), хранение сессий PHP (быстрее файловых сессий, работает в кластере серверов), очереди задач (Laravel Queues, Celery в Python). На shared-хостинге Redis обычно недоступен. На VPS Redis устанавливается за несколько минут. Потребление памяти: 1 миллион ключей занимает ~100 МБ, оптимальный размер до 8--16 ГБ RAM. Политика вытеснения: maxmemory-policy allkeys-lru автоматически удаляет наименее используемые ключи при исчерпании памяти.

Redis Cluster vs Sentinel

Redis Sentinel обеспечивает высокую доступность через мониторинг master и автоматическое переключение на replica при отказе. Redis Cluster добавляет горизонтальное шардирование данных между несколькими узлами. Для большинства хостинговых задач достаточно одного Redis-инстанса с бэкапом через RDB-снапшоты. Redis 7.0 (2022) добавил Redis Functions и улучшенную безопасность ACL. Memcached -- более простая альтернатива для чистого кэширования без персистентности. Кэширование через Redis уменьшает TTFB приложений с 500 мс до 5--20 мс.

История Redis

Redis (Remote Dictionary Server) создал Сальваторе Санфилиппо (Salvatore Sanfilippo) в 2009 году для системы аналитики реального времени. Первый open-source релиз в апреле 2009 года. В 2015 году Redis Labs (ныне Redis Inc.) взяла под коммерческую поддержку. В 2024 году Redis перешёл на лицензию RSALv2/SSPLv1 (закрытая коммерческая), что вызвало создание форков Valkey и Redict под BSD-лицензией. Valkey поддерживают AWS, Google, Alibaba, Ericsson.

Другие термины