跳到主要内容

路由缓存是如何工作的

  • 路由缓冲是编译时形成的缓存静态路由,还是可以获取数据,但是没有动态参数。这样运行的时候直接从缓存获取。这样页面加载会比较快。比如博客页面。
  • 动态路由不会被缓存,也没必要。
  • 重置路由缓存有两种方式:重新部署;通过重置数据缓存。
  • 如果想要退出路由缓存,有三种方式:使用动态函数,不过这种方式数据还是会缓存;
  • 使用revalidate = 0和dynamic = 'force-dynamic组件选项。会导致路由缓存和数据缓存都失效。
  • 任意一个请求退出数据缓存,那么路由缓存就会失效,但是不会影响其他请求的数据缓存行为。
  • 如何工作的?
  • 本地缓存访问过的和预获取的的路由, 快速,同时保存重复路由节点状态
  • 保留时长?
  • 在当前会话中保存。不过当次会话,页面刷新之后缓存会丢失。通常刷新会需要更新,所以不再缓存。
  • next在固定时间之后自动清理缓存。这个固定时间取决于资源是预获取的设定。
  • 但是本地自动清理缓存只针对单个组件,也就是说,其中一个路由节点的缓存清理掉了,到那时其他路由节点的期限没到,就并不会被清理。
  • 页面刷新会清理所有的路由节点的缓存。
  • 退出机制?
  • 客户端是强制启用,没法退出。