【发布时间】:2012-10-07 01:02:34
【问题描述】:
在我的一个 Django 应用程序中,views.py 中的代码如下所示:
import myLib
resultOne = myLib.myFunction('Some data')
resultTwo = myLib.myFunction('Some more data')
resultThree = myLib.myFunction('Even more data')
每当我访问该页面时,加载都需要一分钟。原因是myLib 占用大量内存,每次加载页面时都在加载。我知道resultTwo 和resultThree 会在resultOne 执行后快速执行。
我想在 Django 中预加载 myLib 以便将其存储在内存中,因此 resultOne、resultTwo 和 resultThree 都可以快速执行。我该怎么做?
编辑:
这可能属于缓存的范畴。 resultOne、resultTwo 和 resultThree 的输入每次都会更改,并且运行频率很高。
【问题讨论】:
-
您需要多久执行一次 resultOne、resultTwo 和 resultThree?
-
非常频繁。假设每次加载页面时都需要执行它们。
-
库导入不是问题。它在第一个页面加载期间执行一次。调用
myFunction的时间已经耗尽,因此您应该检查该代码。 -
我不确定库导入是否是问题所在。但是,我认为问题不在于
myFunction。请记住,resultTwo和resultThree执行得很快。我知道这一点是因为我在它们之间放置了打印语句,虽然它们都需要 30 秒才能出现,但它们同时出现。 -
你在提到快速执行结果时总是忽略
resultOne-resultOne是慢的吗?
标签: python django django-admin django-views libraries