问题:
开发了一个的应用程序。当它启动时,它会一次性加载一些数据表。大约 4 GB 的数据。然后,连接到应用程序的人可以使用该界面并使用这些数据。
解决方式:
版本要求:django>=1.7、AppConfig.ready()方法,仅加载一次。
找到django下的apps.py
from django.apps import AppConfig
import pandas as pd
class MappingsysConfig(AppConfig):
name = 'xxx'
def ready(self):
mack="数据路径"
print("Loading gender detector..."),
global mk
mk = pd.read_hdf(mack,mode="r")
print("ok!")
在使用的地方引入
from .apps import mk
print(mk)
print("用户id",id_name,"内存地址",id(mk),"%s is running,parent id is <%s>" % (os.getpid(), os.getppid()))
运行django项目
内存地址一样,数据集只在启动项目时加载了一次。