Redis: найти все объекты старше

1

Я храню несколько свойств объектов в хэшетах. Среди прочего, что-то вроде "даты создания". В db есть несколько хэш-наборов.

Итак, мой вопрос: как я могу найти все объекты старше недели, например? Можете ли вы предложить алгоритм, который быстрее, чем O (n) (наивная реализация)?

Спасибо, Олес

  • 0
    Как выглядят «даты создания»? У вас есть один на каждый день?
  • 0
    @sberry2A sberry2A нет, это только дата / время создания (строка). Я должен искать все такие объекты и обновлять.
Показать ещё 1 комментарий
Теги:
redis

1 ответ

2
Лучший ответ

Моя первоначальная мысль заключалась в том, чтобы хранить данные в другом месте, такие как реляционная база данных, или, возможно, с помощью zset.

Если у вас были непрерывные данные (это означает, что они были последовательно установлены в N интервальных периодах времени), вы можете сохранить хеш-ключ в качестве члена и дату (как временную метку времени) в качестве значения. Затем вы можете сделать zrank для определенной даты и использовать zrevrange для запроса от первого ранга до значения, которое вы получаете от zrank.

  • 0
    Спасибо за эту идею. Я попробую.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню