在nodeJs Application上工作。我有一个API路由,命中率很高。在API的控制器功能中,我必须使用相对较大的数组。我不确定我是否应该在config.js中声明它,我假设它仅在内存中加载一次,还是应该在函数本身中声明它,对于每个新的传入请求,它将在内存中加载。我不确定哪种方法可以提高内存效率。

方法1

/* Config.js */
const bigArray = ["String1", "String2",...];
module.exports = {bigArray};


/* Route.js*/
const {bigArray} = require("config.js");

router.get("/my_api", (req,res,next)=>{

    for(let item of bigArray){
        console.log(item);
    }
    return res.json({status: 1});
})


方法2

/* Route.js*/


router.get("/my_api", (req,res,next)=>{

    const bigArray = ["String1", "String2",...];
    for(let item of bigArray){
        console.log(item);
    }
    return res.json({status: 1});
})


有人可以将我指向正确的方向或在哪里寻找模式详细信息。

最佳答案

假设数组未突变,是的,您可能不应该在多次执行的路由处理程序中创建数组。但是不,没有理由将其放在单独的config.js文件中。写吧

// Route.js
const bigArray = ["String1", "String2",...];
router.get("/my_api", (req, res, next) => {
    for (let item of bigArray) {
        console.log(item);
    }
    return res.json({status: 1});
});

10-02 13:57