如何在Vercel上的next.js服务器中缓存数据?

问题描述

我正在尝试构建一个小型站点,该站点数据库获取其数据(当前我使用Firebase的Cloud Firestore)。

我已经使用next.js构建它,并考虑将其托管在vercel上。看起来非常好,并且运行良好。

但是,该站点需要处理大约1000个小文档-服务,搜索和很少更新。为了减少在每个请求上对数据库调用,这不仅在时间上而且在数据库定价上都非常昂贵,我认为最好是服务器在启动时(或在第一个请求上)获得项目的完整列表,然后将它们保存在内存中,并让数据请求从其内存中获取数据。

它在本地开发服务器上运行良好,但是当我将其部署到vercel时,它不起作用。似乎it forces me to work in serverless mode中的每个请求都是单独的,我无法使用公共的内存缓存来获取数据。

我错过了什么吗,有没有办法在next.js上使用vercel来达到类似的目的?

如果没有,您是否可以推荐其他可以提供我所需要的免费云服务?

解决方法

一个选项可以使用FaunaDB和Netlify,如this post中所述,但是我最终打开了一个免费的Wix网站,并使用Wix data来存储数据。我建立了http-functions module来通过REST提供对数据的访问,该REST也将高使用率的数据缓存在内存中。当前,它似乎像一种魅力!