Nodejs

[Nodejs] file의 birthtime과 mtime

Satisfaction 2024. 10. 11. 23:00

생성된지 24시간 이내라면 저장된 파일을 사용하고, 

캐시가 존재하지 않거나 24시간을 초과했다면 파일을 overwrite 하는 식으로 이미지 캐시를 운영하고 있다.

 

그런데 뒤늦게 캐시가 정상적으로 작동하지 않았다는걸 알았다.

 

birthtime과 mtime

birthtime은 파일의 최초 생성 시간을 의미한다.

mtime은 파일의 마지막 업데이트(modified) 시간을 의미한다.

 

이미 존재하는 파일에 append모드로 파일을 '쓰기'하면

birthtime은 변경되지 않지만 mtime은 현재 시간으로 업데이트된다

 

overwrite file?

그렇다면 파일을 overwrite 하면 어떻게 될까?

 

파일 내용을 완전히 대체하는 작업이기에 내 생각에는 birthtime이 변경된다고 생각했다.

 

하지만 write 모드로 overwrite 할 때도 append 모드와 동일하게 birthtime은 변경되지 않고 mtime만 업데이트된다.