我正在使用 Apache/2.2.8 (Ubuntu) mod_python/3.3.1 Python/2.5.2,我想预加载我使用的数据。
目前,我每次收到请求时都会从磁盘上的文件中读取数据,然后对其进行解析并将其存储在一个对象中。数据文件比较大,我想提前解析/预加载它。
我在想我可以1)在apache启动时将数据加载到内存中(服务器运行时大约100MB到500MB的数据将驻留在内存中)或者我可以2)在提交第一个数据请求时加载它并保留它在内存中,直到我关闭服务器。
下面是第二个想法的模型:
from mod_python import apache
from mod_python import Session
gvar = 0
def handler(req):
req.content_type = 'text/plain'
session = Session.Session(req)
if session.is_new():
global gvar
req.write('gvar was originally : '+str(gvar))
gvar = 314
session['addr'] = req.connection.remote_ip
session.save()
req.write('\ngvar was just set to: '+str(gvar))
else:
global gvar
req.write('gvar set to: '+str(gvar))
return apache.OK
输出(会话一):
gvar 最初是:0
gvar 刚刚设置为:314
输出(会话 > 1):
gvar 设置为:314
请分享您的意见和解决方案,谢谢