Сосуществование Redis и RDBMS (надеюсь, сотрудничество) в приложениях Flask - PullRequest
4 голосов
/ 04 марта 2012

Я занимаюсь разработкой многопользовательской игры на Python с использованием внешнего интерфейса Flask и использую ее как возможность узнать больше о способах работы NoSQL.

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

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

Единственное, что яне совсем хорошая стратегия для того, чтобы эти два хранилища данных жили счастливо вместе.Использование ORM, таких как SQLAlchemy и / или redisco, кажется правильным, потому что ORM захотят владеть всеми данными, которые являются частью их модели данных, и в некоторых случаях мне понадобится, чтобы классы из одного ORM знали оклассы от другого (например, «пользователи находятся в RDBMS, но игры находятся в Redis, и в играх есть пользователи, участвующие в них.)

Кто-нибудь имеет опыт развертывания веб-приложений на Python с использованием магазина NoSQL, такого как Redisдля некоторых вещей и RDBMS для других? Если да, то есть ли у вас какие-либо стратегии для их совместной работы?

1 Ответ

3 голосов
/ 04 марта 2012

У вас не должно возникнуть проблем с использованием ORM, потому что, в конце концов, он просто хранит строки, числа и другие значения. Таким образом, вы можете продолжать игру и сохранять ее состояние в Redis, включая идентификаторы игроков из таблицы SQL player, поскольку этот идентификатор представляет собой уникальное целое число.

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