You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含middleware、getStaticProps等场景的请求频次及缓存方案咨询

Next.js 服务器请求频率与缓存选型问题解答

问题1:同时存在middleware、getStaticProps及_app.tsx中getInitialProps时,客户端请求Vercel服务器的频率?

  • 核心点在于:_app.tsx里的getInitialProps会直接禁用所有页面的静态优化——哪怕页面本身配置了getStaticProps也没用,所有页面都会被强制转为SSR(服务器端渲染)模式。
  • 这种情况下,客户端的每一次页面访问请求都会触发Vercel服务器的处理:middleware会在每次请求时执行(边缘层),接着服务器会执行SSR逻辑渲染页面,完全没有静态页面缓存复用的空间。

问题2:带rewrites的middleware用node-cache、页面配getStaticProps/getStaticPaths、_app挂getInitialProps时的请求频率,及缓存选型?

请求频率情况

  • 还是受_app.tsx中getInitialProps的影响,所有页面依然会被强制转为SSR模式,客户端每一次页面访问都会触发Vercel服务器请求。页面配置的getStaticProps和getStaticPaths会被忽略,没法生成静态页面让客户端直接复用。

缓存选型建议

  • 不适合用node-cache在Vercel服务器缓存:
    • node-cache是内存级缓存,而Vercel的Serverless/边缘函数是无状态、按需创建的,函数实例销毁后缓存就没了;而且多个函数实例之间的缓存不共享,缓存命中率极低,基本起不到有效缓存的作用。
  • 更推荐选用Redis:
    • Redis是分布式缓存系统,能跨多个Vercel函数实例共享缓存数据,还支持持久化存储,适合在Serverless环境下缓存频繁访问的通用数据(比如配置信息、高频查询结果),能有效减少服务器重复计算的压力,提升响应速度。

内容的提问来源于stack exchange,提问作者Shreyas Chorge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 06:41:30