在Next js
中,当缓存不可用时,Next js
将转到SSR
页面并显示它(基于首选的回退方法true或blocking)。
我想知道Astro js
在这种情况下采取了什么方法。我要创建一个动态博客网站,用户可以快速创建博客。
我是否必须每次都构建静态页面,还是最好采用Astro js
SSR方法?
Astro不缓存SSR,渲染模式从一开始就是固定的
- SSG模式:所有页面都是静态的,所以需要重新构建才能更新,不适合动态博客和永久访问用户。
- SSR模式:所有页面都是动态的,并且基于获取时间构建。
- 混合模式:是SSR,但你可以将一些页面固定为静态。
这是可能的想法和建议,但对于这个问题的明确答案,Astro不依赖缓存,因为目前还没有这样的增量静态再生或增量构建,但可能在未来。
混合模式是非常有用的,当你有一个高度动态的网站,但你想有很好的seo性能在一些页面不需要改变,如登陆页或一些固定的文档。
注意,毕竟SSG和SSR之间的区别在于缓存,因此您可以
- TheOtterlord提到的CDN缓存页面
- 自定义缓存:您自己决定哪些内容不需要重新获取,可以存储在本地。
自定义缓存,根据您的部署,您可以在内存中执行此操作以获得最大性能或在文件中执行此操作,但这些解决方案无法在无服务器中运行。
引用- SSR https://docs.astro.build/en/guides/server-side-rendering/
- 混合模式https://docs.astro.build/en/guides/server-side-rendering/#hybrid-rendering