Использование memcached / redis / alternative для небольшой многопользовательской игры для обновления позиций объектов - PullRequest
0 голосов
/ 16 февраля 2011

Итак, я делаю небольшую многопользовательскую игру и использую php в качестве бэкэнда.Мне в основном нужно УСТАНОВИТЬ и ПОЛУЧИТЬ множество позиций объектов, ну, в общем, один объект - это один игрок, у которого в этом случае есть позиция X / Y.

Мне не нужно делать это в реальном времени, но, возможно, каждый5-20 секунд с момента поворота.Я не против, если я потеряю данные, потому что клиенты будут время от времени устанавливать позиции снова.

Я думал сделать это с memcached или redis.По сути, каждый игрок был бы «ключом», и этот ключ содержал бы объект с некоторой релевантной информацией, но самая важная вещь - это позиции X / Y.

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

Я должен добавить, что мы говорим о, возможно,Здесь 10 игроков, следовательно, 10 объектов с позициями x / y, которые нужно время от времени обновлять.

Можно ли сделать это следующим образом, есть ли лучшее решение, чем memcached / redis?Если нет, то какой из этих двух будет лучше с точки зрения производительности?Из того, что я понимаю, это почти то же самое, просто Redis предлагает некоторые дополнительные функции (которые могут быть необязательными).

О, да, я также, очевидно, использую APC с php.Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Redis является самым дешевым ресурсом, особенно 32-битной версией, например, если вы используете менее 2 ГБ кеш-памяти, что, как я считаю, запускает 23-битную Redis, даже если ваш сервер 64-битный.

0 голосов
/ 16 февраля 2011

Имея всего 10 объектов во всей модели данных, я бы сохранил их все в виде сериализованного массива под одним ключом.Время сериализации будет бледным по сравнению с вызовом memcached, поэтому вы также можете минимизировать количество операций чтения и записи на один.

Я только что проверил онлайн-демонстрацию redis, и она выглядит довольно аккуратно.Спасибо за ссылку.Я не могу говорить о том, что лучше, но memcached в PHP проверен и зрел, поэтому вы не ошибетесь.

...