Java
Spring 이미지 내려줄때 캐시설정하기
TBread
2021. 8. 20. 14:58
적용 프로젝트
https://github.com/hanghae99-MEALCHAK/MEALCHAK-server-application
GitHub - hanghae99-MEALCHAK/MEALCHAK-server-application
Contribute to hanghae99-MEALCHAK/MEALCHAK-server-application development by creating an account on GitHub.
github.com
기존에 /image 경로로 접근할때 file:/root/image로 연결시켜주는 설정을 했었다
WebMVCConfig
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/image/**")
// .addResourceLocations("file:/home/ubuntu/image/"); // AWS EC2
.addResourceLocations("file:/root/image/"); // NAVER EC2
}
이 기존코드에
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
CacheControl cacheControl = CacheControl.noCache().mustRevalidate().cachePrivate().sMaxAge(Duration.ZERO);
registry.addResourceHandler("/image/**")
// .addResourceLocations("file:/home/ubuntu/image/"); // AWS EC2
.addResourceLocations("file:/root/image/") // NAVER EC2
.setCacheControl(cacheControl);
}
이렇게 캐시컨트롤을 추가해주었다
현재 캐시에 만료기간을 설정하지않는대신 반드시 검증을 하는 상태이다
이렇게 추가한뒤
새로고침할때마다 매번 받아오던 이미지 리소스를
캐시된 이미지를 사용하게 되어 네트워크 응답속도가 향상되었다!