上百(有限张)图片,需要在NodeJS中使用,如何最有效的利用内存

发布于 2022-09-04 14:06:31 字数 377 浏览 16 评论 0

需求场景(后端生成图片):

应用在几百张图片中随机选取一张图片作为模板,在图片上绘制一些文字,并生成一张图片,传入CDN中,返回用户CDN的图片地址。

方案1:一股脑全部加载到内存

优点:不用判断缓存,速度也最快

缺点:应用占用内存大

方案2:使用到的时候再读取,并设置失效时间

优点:内存占用小

缺点:写不好,容易内存泄露,读文件导致速度变慢

目前采用了方案1,使用了node-canvas

各位有没有更好的建议,或者方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三五鸿雁 2022-09-11 14:06:31

为了扩展性考虑,将来可能有更多的图片,甚至可以有无限张图片,如果都存储在服务器内存中一定不合适;如果你的服务部署在阿里云上,就买oss,走内网,要用图片的时候,从oss获取处理后在重新存储到oss;如果不在阿里云上,在其他云服务上,也可以买相应的云存储,注意不要单独购买云服务,这样就需要走外网获取图片了。如果是自己的服务器的话,就存数据库里,比如mongo之类的。以上的存储,都是存储的文件的二进制,其实并不存在什么读取文件、内存泄漏,把代码写好就是了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文