Программирование

Redis

Что такое Redis?

Имя Redis взято из Remote Dictionary Server. Salvatore Sanfilippo открыл его в 2009 году. Основное место — оперативная память, не диск. Поэтому чтение быстрое. Когда машина выключается, данные, оставшиеся только в памяти, могут уйти. Запись на диск включается отдельно: снимок или журнал операций. MySQL хранит строки и столбцы. Redis хранит ключи. Одно — не имя другого.

Для чего нужен Redis?

Redis нужен для ответа, который спрашивают часто, номера сессии и счётчика на короткое время.

  • Хранить готовый ответ одной страницы
  • Связать сессию входа с номером
  • Считать лимит на одну минуту
  • Добавить короткую работу в очередь

Что можно делать с Redis?

В Redis пишут значение по ключу, читают его и ставят срок. Когда срок кончается, ключ удаляется. Он не годится как основное место заказа. Заказ должен лежать в таблице, которая остаётся на диске. Redis может быть быстрой копией этой таблицы.

Сложно ли освоить Redis?

Записать один ключ легко. Трудность в том, что память заполняется. Складывать всё в Redis заполняет машину. Ключ без срока может остаться. Если запись на диск не включена, когда сервер гаснет, последнее изменение может уйти. Пароль и основную строку платежа здесь не хранят.

Плюсы и ограничения

Плюс: чтение быстрое, срок удаляет сам, один и тот же ответ не считают заново. Ограничение: память дорогая и есть риск при выключении. Redis не заменяет MySQL. Он хранит слой, на который смотрят быстро.

Основные понятия

Ключ — это имя. Значение — данные, связанные с этим именем. Срок говорит, когда ключ удалится.

  • SET пишет значение
  • GET читает значение
  • EX ставит срок в секундах
  • Память быстрее диска, но она заполняется

Короткий пример

Это пишет текст в один ключ и говорит удалить его через 60 секунд. Таблицу не создаёт.

SET page:home "ready" EX 60

Частые вопросы

  • Redis и MySQL — одно и то же? Нет. MySQL хранит таблицы. Redis хранит ключи, и основное место — память.
  • Когда машина выключается, всё остаётся? Только если запись на диск включена. Иначе последнее изменение в памяти может уйти.
  • Пароль хранят здесь? Нет. Здесь лежит то, что быстро удаляется и быстро читается.