python – 在Flask应用程序中Redis和RDBMS共存(希望合作)

我正在使用Flask前端开发一个Python的多人游戏,我正在利用它作为一个机会来了解更多关于NoSQL的做事方式.

Redis似乎非常适合这个应用程序所需的一些东西,包括存储服务器端会话和其他瞬态数据,例如什么游戏正在进行中,谁在线等等.还有一些好的Flask / Redis食谱让目前为止变得非常容易.

但是,数据模型中仍然存在一些我更喜欢在传统RDBMS中生存的东西,包括用户帐户,已完成游戏的日志等.不是Redis不能做这些事情,但我只是认为RDBMS是更适合他们,并且由于Redis想要内存中的所有内容,因此将某些数据“存储”到磁盘上似乎是有意义的.

我不太了解的一件事就是如何让这两个数据存储幸福地生活在一起.使用像SQLAlchemy和/或redisco这样的ORM似乎是正确的,因为ORM将要拥有属于其数据模型的所有数据,并且不可避免地有时候我需要让一个ORM的类知道来自另一个的类(例如“用户在RDBMS中,但游戏在Redis中,而游戏中有用户参与其中).”

有没有人有任何经验使用像Redis这样的NoSQL商店来部署python web应用程序和为其他人使用RDBMS?如果是这样,你有什么策略让它们一起工作吗?

解决方法:

使用ORM应该没有问题,因为它最终只存储字符串,数字和其他值.所以你可以让游戏进行中,并保持其在Redis中的状态,包括来自SQL播放器表的玩家ID,因为ID只是一个唯一的整数.

上一篇:在Mysql中具有相同列名的表之间的数据复制


下一篇:MySQL索引创建