Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点环境中缓存有内容的内容_Javascript_Caching_Contentful - Fatal编程技术网

Javascript 在节点环境中缓存有内容的内容

Javascript 在节点环境中缓存有内容的内容,javascript,caching,contentful,Javascript,Caching,Contentful,我是一名年轻的开发人员,我致力于一个网站的开发,该网站的内容存储在Contentful上。目前,每次重新加载页面时,javascript都会通过API检索Contentful上的内容 该网站的内容不太可能经常更改,所以我想缓存它 该站点存储在Netlify上 因此,我认为我可以在节点构建中恢复Contentful上的内容,将其存储在一个“缓存”中,javascript可以在加载页面时使用这个“缓存”。当在Contentful上修改时,webhook会触发Netlify上的重建 我不知道我的想法是

我是一名年轻的开发人员,我致力于一个网站的开发,该网站的内容存储在Contentful上。目前,每次重新加载页面时,javascript都会通过API检索Contentful上的内容

该网站的内容不太可能经常更改,所以我想缓存它

该站点存储在Netlify上

因此,我认为我可以在节点构建中恢复Contentful上的内容,将其存储在一个“缓存”中,javascript可以在加载页面时使用这个“缓存”。当在Contentful上修改时,webhook会触发Netlify上的重建


我不知道我的想法是否正确,谢谢你的帮助和回答。

似乎最好单独缓存页面(而不是缓存整个站点),并使用cron作业将每个页面(可能每周)的缓存与当前版本进行比较。如果不同,请重新生成该页的缓存。此外,您可能希望手动触发该事件,可能是在部署时,或者在给定页面发生更改时发生的罕见事件中


无论如何,在你开始做所有这些缓存之前,你应该检查一下你的站点是否会被请求淹没。如果没有,那么缓存可以推迟到以后,这将是明智的,因为如果您的站点的性质会随着时间的推移而改变,并且经常会发生变化,那么您可能需要不同的缓存,甚至根本没有缓存。

Contentful实际上在其服务中内置了缓存,因此您不需要做任何事情就可以在您的网站上获得缓存的好处。引用内容丰富的文档:

对命中我们CDN缓存的请求没有任何限制,即请求不计入您的速率限制,您可以进行无限量的缓存命中。对于确实符合Contentful Delivery的请求,API强制执行每秒78个请求的速率限制,默认情况下为每小时280800个请求。根据您当前的计划,可能适用更高的费率限制

有关详细信息,请参阅

如果您想在Contentful API的基础上进行额外的缓存,可以利用一个节点库来完成。类似的东西在这个用例中会非常好地工作


如果在发布新内容时重建堆栈,而不是在页面视图中呈现堆栈对您很重要,我建议您查看静态站点。Contentful提供了一些很棒的webhook支持,您可以与Netlify一起使用,以便在作者发布新内容时帮助重建站点。查看关于使用盖茨比的教程了解更多详细信息-

我建议查看静态站点生成器,例如我添加的站点,以便您更好地理解。该网站只包含一个页面。@KévinFuret内容太小,我认为为其实现缓存系统为时过早。但是假设您需要缓存,那么在您的案例中实现服务器端缓存比完全不使用缓存系统更好吗?目前缓存系统的具体性能和/或内存和/或网络优势是什么?