Python 2.7 分页间内存中字典列表

Python 2.7 list of dictionaries in memory between page trips

我上下研究了一下,但没有看到任何我非常理解的答案,所以我想 post 我自己的问题。

我在 Python 2.7 上构建一个 Web 应用程序(特别是在 web2py 中,但我不相信这无关紧要)将托管在 Windows.

我在数据库中有一个包含大约 2000 个项目的列表 table。 用户将打开应用程序,该应用程序最初会将 select 所有 2000 项放入用户浏览器的 Python 和 return 列表中。之后,用户将根据项目的一对多属性的一对多值过滤列表。

我希望 Python 在用户更改过滤选项之间在内存中保存包含 2000 个项目的完整列表。

这是为了避免每次更改过滤器选项时都访问数据库。并避免在会话中一遍又一遍地传递列表。

其中大部分内容我都能接受。我正在寻求您的建议是如何让 Python 将列表保存在内存中。在 C# 中,您只需将其设为静态对象即可。

如何在 Python 中执行静态(或任何其他适用的方案)?

感谢您的评论。


在校对时我发现我仍然可能至少来回传递列表的大部分,所以我可能会在浏览器中管理整个列表。

但我还是喜欢听你的建议。也许你说的话会有所帮助。

您似乎得出结论,没有太多理由向服务器来回发送请求,因为服务器不会生成浏览器中尚未保存的任何新数据。直接在浏览器中进行所有过滤即可。

但是,如果您确实需要在服务器上进行一些操作,则不必假设 search/filter Python 中的大型数据集比查询数据库更有效。您应该进行一些测试以确定哪个更有效(以及任何效率提升是否值得为代码增加复杂性带来的麻烦)。