node.js - 上百(有限张)图片,需要在NodeJS中使用,如何最有效的利用内存
怪我咯
怪我咯 2017-04-17 16:08:48
0
1
762

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

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

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

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

缺点:应用占用内存大

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

优点:内存占用小

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

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

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

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(1)
巴扎黑

확장성을 고려하여 향후 사진이 더 많아지거나 무제한이 될 수도 있습니다. 모두 서버 메모리에 저장되어 있다면 서비스가 Alibaba Cloud에 배포되고 oss를 구매하는 것은 확실히 적합하지 않습니다. 사내 네트워크로 이동하여 사진을 사용하려면 OSS에서 가져와서 OSS에 다시 저장하세요. 사진이 Alibaba Cloud에 없으면 다른 클라우드 서비스에서 해당 클라우드 스토리지를 구매할 수도 있습니다. 클라우드 서비스는 별도로 필요하므로 인터넷에서 사진을 구했습니다. 자체 서버인 경우 mongo와 같은 데이터베이스에 저장하세요. 위의 저장소는 저장된 파일이 모두 바이너리인데 실제로는 파일을 읽거나 메모리 누수가 발생하지 않습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿