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 хранит ключи, и основное место — память.
- Когда машина выключается, всё остаётся? Только если запись на диск включена. Иначе последнее изменение в памяти может уйти.
- Пароль хранят здесь? Нет. Здесь лежит то, что быстро удаляется и быстро читается.