Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Redis : redis, key value, index, set, redisearch

Можно ли искать в Redis не по ключу, а по значению?

Проверяет знание ограничений моделей доступa в Redis.

Короткий ответ

Прямого поиска по значению Redis не поддерживает: все операции ориентированы на ключи. Чтобы искать по полям или значениям, нужно строить собственные индексы (например, использовать структуры SET/ZSET, где элементы — ключи, а значения — индексы), или хранить обратные отображения «значение→список ключей».

Длинный ответ

Отсутствие встроенного full‑scan:

  • CLI-команда KEYS *.value* сканирует всю базу, что плохо для продакшена.

Подход через индексирование:

  • Создать SET для каждого значения: при сохранении объекта записывать его ключ в соответствующее множество.

  • Поиск — запрос к этому множеству.

Использование Hash и Sorted Set:

  • HGETALL для чтения всех полей, но без поиска по значению.

  • ZSET с оценками (score) — для диапазонного поиска по числовым атрибутам.

Альтернатва:

  • RedisJSON + RediSearch-модуль поддерживают индексацию и полнотекстовый поиск по значениям.

Вывод:

Для поиска по значениям лучше использовать внешние индексы или модули RediSearch.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Redis

    Redis

Ключевые слова

#redis

#key value

#index

#set

#redisearch

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.