服务器内存中加载超大型数据集并在 Django Web 应用程序上的不同请求之间共享

问题:

开发了一个的应用程序。当它启动时,它会一次性加载一些数据表。大约 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项目
在这里插入图片描述
内存地址一样,数据集只在启动项目时加载了一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值