2011-08-05 135 views
3

我希望为自己的Web应用程序编写一个自定义数据模型,该模型在内存中存在作为自定义python对象的集合。 Web应用程序可以处理这些对象上的数据,并根据用户请求运行它们的方法,并且在请求线程死亡后对象会保留在内存中。Python中的持久内存存储

模型对象将自己写入磁盘的方法(不知道我将如何做,但这不是我在这里感兴趣的),但仅用于备份目的。理想情况下,只要服务器运行,它们就会一直存储在内存中。

在多个用户同时处理对象上的数据的情况下,对模型的访问必须由会话来管理,尽管这种情况会比较少见。

这不是用Web应用程序初始化对象的选项,因为即使重置Web应用程序,它们也必须保留。

是否有任何种类的第三方组件可以使这种模型更容易设置?任何关于走这条道路的建议?任何帮助将不胜感激,因为我没有太多的编程独立进程以python或其他方式进行通信的经验。

我的服务器将Linux,我打算使用金字塔作为Web应用程序的框架。

由于提前, 威尔

回答

2

我认为这主要取决于你想要多少工作需要投入什么样子建立自己的ORM。

如果您想要完成序列化python对象的任务,并根据模型的复杂性,您可以在Redis处进行拍摄。

Redis是基于键值模型的非关系数据库。所有数据都存储在内存中,并定期(频率取决于写入次数并可定制)转储到磁盘。拿起和使用也很容易。

围绕redis提供了一个可用于python的包装:redis_py

当然,Redis并不是唯一的,你也可以看看类似的东西,如东京暴君。