Python中的持久化内存存储

3
我希望为我的Web应用程序编写一个定制的数据模型,该模型作为自定义Python对象的内存集合存在。Web应用程序可以操作这些对象上的数据并在用户请求时运行它们的方法,在请求线程结束后,这些对象仍保留在内存中。
模型对象将有自己的方法来将自身写入磁盘(我还不确定如何实现,但这不是我的兴趣所在),但只用于备份目的。理想情况下,只要服务器运行,它们就会一直保留在内存中。
如果多个用户同时操纵对象上的数据,则必须通过会话来管理访问模型,尽管这种情况相对较少发生。
不可能在Web应用程序初始化对象,因为即使重置Web应用程序,它们也必须保持不变。
是否有任何第三方组件可以更轻松地设置此类模型?有关走这条路的建议?任何帮助都将不胜感激,因为我没有太多关于独立进程在Python或其他语言中通信的经验。
我的服务器将是Linux,并计划使用Pyramid作为Web应用程序的框架。
提前感谢, Will
1个回答

2
我认为这在很大程度上取决于你想要投入多少工作来构建自己的ORM。
如果你有能力将Python对象序列化,并且根据你的模型的复杂性,你可以尝试一下Redis
Redis是一个基于键值模型的非关系型数据库。所有数据都存储在内存中,并且定期(频率取决于写入次数并可定制)转储到磁盘上。它也很容易上手使用。
对于Python,有一个Redis的包装器可用:redis_py
当然,Redis不是唯一的选择,你还可以看看类似的替代品,比如Tokyo Tyrant。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接