2016-10-03 35 views
2

我有一个非常长的对象列表,我只想从db加载一次到内存(对于每个会话都不意味着),这个列表将会改变它的值并随时间增长通过用户输入,我在内存中需要它的原因是因为我正在做一些复杂的搜索,并希望快速回复。在Django中使用全局静态变量服务器

我的问题是我如何在服务器的启动时加载一个列表,并通过会话让它们全部读/写。

做一个沉重的SQL搜索,而不是通过我的服务器保持列表活跃会更好吗?

回答

1

答案是,这是个坏主意,因为您还需要写入权限,所以您特别打开潘多拉的盒子。然而,一切都不会丢失。您可以非常轻松地使用redis来执行此任务。

Redis是一个永久的数据存储,但同时一切都保存在内存中。如果redis服务器运行在与web服务器相同的设备上,几乎是瞬间访问

+0

Redis确实看起来像是一个解决方案,但是您是否知道任何其他类似单线程的库**不**仍然存在数据?我已经通过django模型持久保存数据(并且与其他模型有复杂关系) –

+0

请求资源是堆栈溢出的主题,所以我无法回答该评论 – e4c5