検索

ホームページ  >  に質問  >  本文

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

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

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

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

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

缺点:应用占用内存大

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

优点:内存占用小

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

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

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

怪我咯怪我咯2782日前752

全員に返信(1)返信します

  • 巴扎黑

    巴扎黑2017-04-17 16:10:48

    スケーラビリティを考慮すると、将来的にはさらに多くの写真が存在する可能性があり、さらには無制限の写真が存在する可能性もあります。サービスが Alibaba Cloud 上に展開されている場合は、明らかに不適切です。社内ネットワークに移動し、写真を使用したい場合は、OSS から取得し、処理後に OSS に保存します。Alibaba Cloud にない場合は、他のクラウド サービスで対応するクラウド ストレージを購入することもできます。クラウド サービスを別途購入する必要があるため、インターネットから画像を取得する必要があります。独自のサーバーの場合は、mongo などのデータベースに保存します。上記のストレージはすべてバイナリで保存されており、実際にはコードを記述するだけでファイルの読み取りやメモリリークはありません。

    返事
    0
  • キャンセル返事