koa-static-cache源码 使用了fs.readFileSync 来读取文件, 这个不会阻塞cpu吗? - CNode技术社区

koa-static-cache源码 使用了fs.readFileSync 来读取文件, 这个不会阻塞cpu吗?
发布于 8 年前 作者 fengyaogit123 5872 次浏览 来自 问答
 源码
	 
function loadFile(name, dir, options, files) {
 ....
 var stats = fs.statSync(filename)
 var buffer = fs.readFileSync(filename)
 obj.cacheControl = options.cacheControl
 obj.maxAge = obj.maxAge ? obj.maxAge : options.maxAge || 0
 obj.type = obj.mime = mime.lookup(pathname) || 'application/octet-stream'
 obj.mtime = stats.mtime
 obj.length = stats.size
 obj.md5 = crypto.createHash('md5').update(buffer).digest('base64')
 debug('file: ' + JSON.stringify(obj, null, 2))
 if (options.buffer)
 obj.buffer = buffer
 buffer = null
 return obj
}
```end
求解
6 回复

@nanzm caches the assets on initialization-youneed to restart the process to update the assets.(can turn off with options.preload = false) 跟 【fs.readFileSync 来读取文件, 这个不会阻塞cpu】 有联系吗,我不太理解,谢谢

设计如此,这个函数会在启动期调用,然后全部缓存到 cache,而不是运行期,所以不会影响到用户。

https://github.com/koajs/static-cache/blob/master/index.js#L33

只阻塞一次,不会阻塞每个请求。

@atian25 非常感谢,我明白了了,谢谢!

@JacksonTian 非常感谢,我明白了!

回到顶部

AltStyle によって変換されたページ (->オリジナル) /