С полгода назад публиковал здесь ссылку на свой перевод документации по Redis.
Для тех, кто не знает, что такое Redis — Redis, это NoSQL-база данных. Для тех, кто не знает, что такое NoSQL — Redis, это круто.
За прошедшее время в Redis накопились немалые изменения. Теперь все они отражены в обновлённом переводе. Здесь рассмотрим основное.
Новый тип данных, представляющий собой, собственно, хэши :)
Теперь не надо хранить поля объекта в куче различных ключей типа user:10:name
, user:10:surname
. Всё в одном, да и удалить этого user’а-10 теперь можно одним запросом.
Были они, честно говоря, ещё и на момент прошлого перевода, но в нестабильной версии.
Теперь всё стабильно, плюс новые полезные команды для работы с ними.
Кто не в курсе, упорядоченные множества: коллекция элементов, отсортированных по определённому значению. Подходят для реализации аналога индексов в реляционных базах.
Не совсем такие, к каким мы привыкли, но выполняют своё основное предназначение: позволяют исполнить последовательность команд в виде одной атомарной операции.
Ещё один удобный вариант реализации очереди сообщений. В веб-приложениях подходит для демонов, обрабатывающих поступающие данные (рассылка писем, индексирование …)
Всякое другое
Наконец появился атомарный SET + EXPIRE, а то раньше приходилось бояться, что между этими двумя командами вклинится апокалипсис.
Также в ближайшее время обещают снять все ограничения на действия с волатильными ключами (теми, для которых установлен таймаут). Сейчас их нельзя сохранять (просто удаляться нафиг), это, конечно, обосновано с точки зрения архитектуры сервера, но ужасно раздражает. Надеемся, что скоро этого не будет.
Конфигурирование на лету
Ещё много новых полезных команд (PERSIST, APPEND, SUBSTR, ZRANK …) и новых опций к уже существующим.
Также немало переработаны внутренности сервера, связанные с виртуальной памятью, AOF-режимом и т.д.
Вобщем, Redis ещё охуеннее!