2 подхода для отслеживания онлайн-пользователей с помощью Redis. Какой из них быстрее? - PullRequest
3 голосов
/ 15 апреля 2010

Недавно я нашел хороший пост в блоге, в котором представлены 2 подхода для отслеживания онлайн-пользователей веб-сайта с помощью Redis.

1) Смарт-клавиши и настройка срока их действия * +1004 * -weenie.net / 2010/2/3 /, где-ы-Вальдо-трек-User-места-с-узлом-JS-и-REDIS

2) Сеты и пересекаются http://www.lukemelia.com/blog/archives/2010/01/17/redis-in-practice-whos-online/

Можете ли вы судить, какой из них должен быть быстрее и почему?

1 Ответ

4 голосов
/ 16 апреля 2010

Для того, чтобы узнать, находится ли конкретный пользователь в сети, первый способ будет намного быстрее - нет ничего быстрее, чем чтение одного ключа.

Поиск пользователей на определенной странице не так очевиден (я не видел четких цифр производительности клавиш пересечения или подстановочных знаков), но если набор достаточно большой, чтобы вызвать проблемы с производительностью в любой реализации, это не так все равно практично показывать их все.

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

Наборы Redis больше подходят для вещей, которые нельзя сделать с помощью ключей, особенно когда получение всех элементов в наборе важнее, чем проверка, находится ли конкретный элемент в наборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...