Redis — Это Расширенное Хранилище Ключей И Значений. Опыт Использования В Загруженных Проектах

Успешно пользуемся им уже пол года.

Редис в своих высоконагруженных проектах.

За это время в Redis было разработано множество успешных решений проблем, с которыми сталкиваются разработчики большинства крупных проектов.

Я хотел бы поделиться примерами таких решений на предстоящем ДЕВКОНФ показать на практике возможности, преимущества и слабые стороны Redis. Redis — краткий обзор (или Redis — это не просто база данных «ключ-значение»):

  • Redis очень быстрый
  • Типы данных: строка, список, набор, отсортированный набор, хеш.

  • Атомарность операций
  • Безопасность данных: снимок, файл, доступный только для добавления (binlog)
  • Транзакции
  • Виртуальная память
  • Репликация «главный/подчиненный»
  • Публикация/подписка (очереди сообщений)
  • Трубопровод
  • Инструменты Redis
  • Клиенты (PHP, Ruby, Python, Erlang, Perl, Tcl, Java, Lua, C#, Javascript/Node.js, .

    )

Сравнение производительности и возможностей с другими хранилищами:
  • MySQL (ИнноДБ)
  • Мемкеш
  • Кассандра
  • Токийский кабинет
  • МонгоДб
Узнайте больше о возможностях на примерах практического применения:
  • Ключевое пространство Раздельное хранение ключей на одном сервере Redis. Основы для сред тестирования и разработки.

  • Ключи строкового значения Уникальные идентификаторы, счетчики, сериализованные объекты.

  • Срок действия ключа Кэширование, хранение сессий.

  • Списки — упорядоченный список значений.

    Хранение списка ключей сериализованных объектов, простых очередей.

  • Наборы — неупорядоченный набор уникальных значений.

    Теги, друзья, ожидающие удаления, список онлайн-пользователей, «посещенная страница».

  • Sorted Set — набор уникальных значений, упорядоченных по весу.

    Голоса и рейтинги пользователей, автозаполнение.

  • Хэши Новый, улучшенный способ хранения сериализованных объектов и работы с ними.

  • Транзакции Целостность и атомарность выполнения набора команд.
  • Публикация/подписка Очереди, чат.
  • Трубопровод Быстрое выполнение набора команд.
  • Отказоустойчивость и безопасность данных Бесперебойная работа и гарантированная сохранность данных.

    Репликация Master/Slave.

  • Распространение ключей по серверам Redis Rediska: crc32, последовательное хеширование, облако.

  • Техническое обслуживание и мониторинг Инструменты Редиса.

    Команды ИНФО и МОНИТОР.

В заключение расскажу о предстоящих нововведениях, а также о том, где, как и почему не стоит использовать Redis. Если ты не равнодушен, проголосовать за отчет .

Теги: #redis #devconf #значение ключа #highload #report #занимаюсь пиаром

Вместе с данным постом часто просматривают: