Как организовать в Redis выборку данных по сроку?

Необходимо хранить кол-во просмотров по интервалу времени, что-бы была возможность выбрать за: последние 24 часа, 30 дней и пол года.


Пока есть один вариант: сделать по принципу «users online», но если делать например, интервал по часу (time() // 3600) для 30 дней, получается ~720 ключей на одну сущность.


Может кто-то уже делал подобное? Какие еще есть варианты?
  • Вопрос задан
  • 3743 просмотра
Пригласить эксперта
Ответы на вопрос 2
Neutral
@Neutral
Можно затолкать все данные по просмотрам в одно значение, каждые 4 байта которого будут содержать количество посещений за один день — и работать с ними через GETBIT/SETBIT.
Ответ написан
@LuciferOverLondon
решение попроще — sorted set
ключ — <название>_<дата>_<час>, значение — число, прибавляется через zadd
в случае с setbit нужны будут блокировки, насколько я понимаю. с zadd — не нужны
старую статистику можно скидывать в базу, например
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы