这个Web应用程序从网络上获取图像,特别是网站图标。因此,每次刷新页面时,都会向网站发出请求,并重新获取图标。
这是我传递URL的函数;
这是我传递URL的函数;
favicon()
是一个库,从网站/页面中抓取它,并返回它。router.get('/feedicon', function(req, res) {
favicon(req.query.url, function(err, icon) {
if (icon) {
res.send(icon);
} else {
res.status(500).send('No icon found');
}
});
});
现在如果找到有效的icon
文件,最好的方法是:
- 确保存在一个
/cache
目录/创建它(或者如果不可能则返回错误); - 检查
icon
是否在/cache
目录中; - 如果不在,则使用某种独特的时间戳保存它,并从那里提供服务;
- 如果在,则直接从那里提供服务。
我不想安装库来完成这个,实际上我遇到的问题是如何以最佳方式“唯一地为缓存图像添加时间戳”,以便确保提供正确的文件..?
此外,如果我使用哈希作为文件ID,会担心性能问题..?
关于快速缓存此类文件的最佳实践是什么?我很难找到相关信息,似乎没有人需要在NodeJs / Express中缓存动态图像..?