在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});
});