Итак, я делаю небольшую многопользовательскую игру, и я использую php в качестве бэкэнд. Я в основном нуждаюсь в SET и GET много позиций объектов, и один объект - это один игрок, у которого в этом случае есть позиция X/Y.Использование memcached/redis/alternative для небольшой многопользовательской игры для обновления позиций объектов
Мне не нужно делать это в режиме реального времени, но, возможно, каждые 5-20 секунд с момента поворота. Я не возражаю, если я потеряю данные, так как позиции будут снова заданы клиентами время от времени.
Я думал об этом с memcached или redis. В основном каждый игрок будет «ключом», и этот ключ будет содержать объект с некоторой релевантной информацией, но самое главное, что касается позиций X/Y.
Возможно, я ошибаюсь, но этот подход представляется очень легким, однако я не уверен, насколько хорошо он будет работать, поскольку у меня нет большого опыта с любым из этих суждений.
Я должен добавить, что речь идет, возможно, о 10 игроках здесь, следовательно, о 10 объектах с позициями x/y, которые нужно обновлять время от времени.
Можно ли это сделать, есть ли лучшее решение, чем memcached/redis? Если бы не тот из этих двух был бы лучше по производительности? Из того, что я понимаю, это почти то же самое, только что redis предлагает еще несколько функциональных возможностей (что необязательно необходимо).
О, да, я также использую APC с php. Благодаря!
Да, я думаю, интересно, хотя на уровне драйвера PHP, который потребляет меньше ресурсов, новый memcache(); или новый redis(), а кто самый дешевый в ресурсах при подключении/настройке/получении материала – neph
Создав агностический сервисный уровень поверх того, который вы выбираете, который предоставляет нужные вам методы модели, вы всегда можете поменять их на а другой - без изменения приложения, которое его использует. Не засоряйте свой код вызовами 'memcache :: get()'! Вместо этого размещайте те, что находятся внутри реализаций GameServiceMemcache, которые не поддерживают интерфейс GameService. –