请教关于node 渲染页面前的公共请求和缓存以及定时任务

项目使用的node 做中间层,ejs作为的模板渲染.现在有些问题想请教大家
网站每个页面都有一个列表小组件,这个列表里面数据是从后台配置获取的,
这个是我的其中一个router文件,其他页面的router 文件和这个大差不差.

router.get('/',function(req,res){
    var param=new URLSearchParams();
    param.append('key','1asd');
    axios.post(host + '/web/getConf', param).then(function(data){
        res.render('page',{
            dataList:data.data.list
        })
    })
})

难道每个页面render都要去单独请求一次吗?能不能再一个公共的地方请求一次全页面通用?

此外还有一些需求,网站好几个协议废话页面的内容都是配置的,这些内容不定时可能会更新,可能三天两头,也有可能一年半载,项目经理觉得每次进入这些废话页面都去后台请求数据觉得浪费请求,
现在有个想法是第一次进入页面的时候把请求结果通过fs模块写入到本地一个txt文件,以后的加载页面都直接去读取这个txt文件,到这里我觉得没问题. 但是他要求每隔一段时间去请求更新一下,这怎么搞?难道写个定时器吗?

以上2个问题希望有大佬指点一下

阅读 870
1 个回答

可以呀,做一个全局的 cache,读取的时候分为两个逻辑,没过期直接返回,过了就是重新拉取。

你这两个问题看起来是同一个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题