@small-newbie

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

Речь идёт о небольшой сетевой игре. Пользователи подключаются к серверу и желают начать играть. Для этого в списке тех, кто тоже желает, происходит поиск по уровню игрока. Найден - убираем из списка. Не найден - попадает сам в конец списка и ждёт. Каким образом хранить данные список, чтобы обеспечить возможность работы с ним всем потокам сервера, и чтобы операции поиска/удаления/добавления происходили максимально быстро?
  • Вопрос задан
  • 2263 просмотра
Пригласить эксперта
Ответы на вопрос 3
overmes
@overmes
Posgresql и необходимые индексы
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Всегда храним промежуточный централизованный результат в памяти и при его изменении отправляем флаг "обновить состояние списка" всем клиентам синхронно (multicast).
Ответ написан
Комментировать
hrls
@hrls
отсортированный список -> бинарный поиск (время поиска и всего прочего O(lg N))
или словарь списков (очередей), где ключ – уровень игрока (на базе очередей будет O(1))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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