다음 코드가 한 번 읽은 후 서버의 메모리에있는 파일의 내용을 캐시하는지 알고 싶습니다. 내가 물어 보는 이유는 사용자가 페이지를 요청할 때마다 파일을 다시 읽고 싶지 않기 때문입니다. 첫 번째 읽기 후에 캐시 된 것을 선호합니다.fs.readFile()은 처음 읽은 후 서버의 메모리에 파일 내용을 캐시합니까?
fs.exists(fileName, function (exists) {
if (!exists) {
console.log("== 404 error");
resp.writeHead(404, {'Content-Type': 'text/html'});
resp.end(pageError);
return;
}
fs.readFile(fileName, 'utf8', function (err, data) {
if (err) {
resp.writeHead(404, {"Content-Type": "text/html"});
resp.end(pageError);
return;
}
var contentType = getContentType(req.url);
var mimeType = mimeTypes[contentType];
resp.writeHead(200, {"Content-Type": mimeType});
resp.end(data);
});
});
참고 ** 난 단지이 사용하는 내부 노드 JS 모듈을 수행하는 방법을 알고 싶어요 (어떠한 명시 적 없음)
그냥 변수에 데이터를 저장하십시오. 사용자가 페이지를 요청할 때 서버를 시작할 필요가없는 이유는 무엇입니까? –
효율적인 방법인가요? –
효율적인 방법은 무엇입니까? 시작할 때 한 번 파일을 읽고 각 페이지 요청시 해당 데이터를 제공 할 수 있습니다. 파일을 다시 읽지 않으면 파일의 변경 사항이 반영되지 않습니다. –