出于性能原因,在(半规范化的)数据库数据的每个请求上重新初始化状态很快就变得不可行.例如,以某种方式缓存状态的Python对象是非常可取的,这样可以在必要时简单地使用和/或更新它.但是,由于这是一个Web应用程序,因此有几个进程处理请求,因此使用全局变量是不可能的.
我已经尝试序列化相关对象(通过pickle)并将序列化数据保存到DB,现在我正在尝试通过memcached缓存序列化数据.但是,这仍然会经常对序列化和反序列化对象产生巨大的开销.
我看过共享内存解决方案,但我发现的唯一相关内容是POSH.但是POSH似乎没有被广泛使用,我觉得将这样的实验组件集成到我的应用程序中并不容易.
我需要一些建议!这是我开发Web应用程序的第一步,所以我希望这是一个很常见的问题,有这些问题的众所周知的解决方案.在这一点上,假设Python后端在单个服务器上运行的解决方案就足够了,但对于可扩展到多个服务器的解决方案来说也是额外的点:)
笔记:
>我有这个应用程序工作,目前在线和活跃的用户.我开始时没有做任何过早的优化,然后根据需要进行优化.我已经完成了测量和测试,以确保上述问题是实际的瓶颈.我确信我可以从当前设置中挤出更多性能,但我想问一下是否有更好的方法.
>设置本身仍在进行中;假设系统的架构可以是您的解决方案的任何套件.
多处理对于Python来说是相当新的,因此它可能有些奇怪之处.我不太确定该解决方案是否适用于未通过多处理生成的流程.
总结以上是内存溢出为你收集整理的如何在Web应用程序中使Python对象持久化?全部内容,希望文章能够帮你解决如何在Web应用程序中使Python对象持久化?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)