Я ищу для хранения следующей группы информации. Я сохраняю минутную метку времени (например, группу всех идентификаторов браузера, видимых в окне за 1 минуту), а затем список ссылок на браузер. Я хотел бы иметь только один экземпляр идентификатора браузераОптимальная структура хранения в Redis
Какую структуру данных в Redis можно использовать для этой структуры данных? Есть ли более оптимальный способ его хранения?
...
12:06 -> browser1, browser7
12:07 -> browser8
12:08 -> browser4, browser5, browser6, browser9
...
В каждой строке может проживать около 1 дня.
При добавлении нового идентификатора браузера я сначала проверяю, существует ли идентификатор браузера где-то в данных, если он удаляет и добавляет в новую минутную строку.
Наконец-то каждые 1 минуту я беру строку с 30 минут назад и обрабатываю эти идентификаторы браузера, а затем удаляю эту строку из списка при полной обработке.
В этой структуре данных может быть до 1 миллиона рефералов браузера.
В любой момент времени может быть до 1 миллиона браузеров. следовательно, причина, по которой у меня есть данные, сгруппированные так, как я. Идея заключается в том, что когда я вытягиваю запрос, чтобы получить всех людей, которые были активны в заданную минуту, я быстро возвращаю список идентификаторов браузера. –
Я думаю, что вы должны хранить все браузеры с помощью хеш-таблицы для ускорения запроса, потому что ваш браузер слишком велик. O (1) отлично. – kaitian521
Я обновил вопрос, чтобы удалить концепцию идентификатора клиента, чтобы сделать его понятным. Таким образом, на основе изменения выше того, что набор для хранения redis наиболее применим. Если мне нужна более одной структуры данных, это тоже хорошо. –