Встречается на собеседованиях • сегодня

Искал ли в Redis по значениям

В Redis нельзя искать по значениям напрямую, так как это key-value хранилище, и поиск работает только по ключам. Однако есть несколько обходных путей:

  1. SCAN + GET: Можно сканировать все ключи и проверять их значения, но это очень медленно и не рекомендуется для production.
python
import redis
r = redis.Redis()

for key in r.scan_iter():
    if r.get(key) == target_value:
        print(f"Found: {key}")
  1. Вторичные индексы: Создавать дополнительные структуры данных (например, sets/hashes) для хранения связей между значениями и ключами.
python
# При добавлении данных
r.set("user:1", "Alice")
r.sadd("users:Alice", "user:1")

# Поиск
user_ids = r.smembers("users:Alice")
  1. RedisSearch (модуль): Позволяет создавать индексы и выполнять полнотекстовый поиск по значениям.

Для сложных поисковых сценариев лучше использовать специализированные базы данных (Elasticsearch, Solr) или модули Redis.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы