Перейти к содержимому
1 / 12

Структуры данных Redis: как выбрать под задачу и на чём обычно ошибаются?

Redis — не «хранилище строк с TTL», а набор структур, каждая со своей сложностью операций. String — счётчики (INCR), кэш сериализованного значения, флаги. Hash — объект с полями, когда нужно читать и обновлять часть полей без перезаписи всего значения. List — очередь и стек, LPUSH/BRPOP для простого воркера. Set — множество без дублей: онлайн-пользователи, теги, пересечения. Sorted Set — рейтинги, отложенные задачи по времени, скользящие окна для лимитов; операции по рангу и по диапазону очков за логарифмическое время. Stream — журнал сообщений с группами потребителей и подтверждениями, ближайшее к брокеру, что есть в Redis. Плюс вероятностные структуры: HyperLogLog для счётчика уникальных с ошибкой около 0,8% и памятью 12 кБ. Главные ошибки — хранить огромные коллекции в одном ключе и вызывать KEYS в проде.

Структуры данных Redis: как выбрать под задачу и на чём обычно ошибаются? | JScriptiser