关于站点缓存
category
tags
type
status
slug
summary
date
Last edited time
Sep 6, 2024 03:46 AM
icon
password
在了解如何修改站点配置之前,我们需要了解一下NotionNext的缓存机制。
前言
你可能会遇到这样的问题,修改了站点的菜单、标题、公告后,访问网站首页发现已经生效了,但是点击到里面的文章子页面后发现,每个文章子页面的标题、菜单、公告都是错误的旧版,
这是怎么回事?
关于缓存
独立缓存
每个子页面的缓存都是独立的,例如首页、文章详情页。
因此左上角的标题和右下角的公告,在每个子页面都有一个独立的缓存,修改标题后,首页的标题生效了,但是打开每个子页面中还会显示上一个缓存的版本。
缓存更新机制
页面数据的只有在用户访问后才会手动触发,访问站点的任意页面,默认会展示站点初次部署,或上次更新后的页面缓存。
这是为了让用户可以第一时间打开页面,而无需等待抓取Notion最新数据。
什么时候更新?
- 从首页博客列表进入此文章,并在此页面按下F5进行刷新
- 直接从搜索引擎或其它直接链接访问到这篇文章。
这两种情况会触发NotionNext去重新拉取数据,同时页面不会等待拉取结果,会直接返回上一个缓存版本。拉取数据可能耗费几秒时间,拉取完会自动渲染出新的页面版本并进行缓存,以备下一位用户或你的下一次访问。
此时再第二次刷新页面,返回的就是最新拉取并渲染出的版本,页面的内容就是正确的了。
每次只会拉取一个页面的数据。
公共部分的配置
标题、菜单、公告这些公共部分的内容修改后,每个页面都要刷新两次才能看到最新版本。
这样如果你发表了上百篇文章后,要去每一个文章页面更新公共部分会很困难。
解决缓存问题的办法
修改了公共的配置、标题这些之后,建议整体重新部署一下项目。
等这些固定下来后,后续更新文章的时候,就只要单独请求最新的文章即可完成更新流程。
其它
- 所有人看到的都是一样的内容,只要有一个人去触发了更新,其他人就能看到更新后的版本
- 可以参考《vercel快速重新部署项目》
Prev
Notion进阶教程
Next
如何配置站点
Loading...