캐싱이란?

데이터를 임시로 저장하는 공간입니다. 계속 쓰는 데이터들을 필요할 때마다 꺼내쓰기 위해서요. 임시저장소라고 생각하시면 편합니다.

강의자료-캐싱.png

예를 들겠습니다. 웹페이지에 접속했습니다. 화면에 표출되는 이미지들이 있습니다. 잠시 후 페이지를 새로고침 했습니다. 새로고침 할 때마다 이미지를 서버로부터 불러오면 번거롭지 않을까요?

그래서 기본적으로 컴퓨터가 한번 불러왔던 이미지들을 캐싱해둡니다. 동일한 이미지면 서버에서 받아올 필요 없이 임시저장한 곳에서 가져오면 되니까요.

캐싱의 장점

  1. 성능 향상

기존에 한번 서버로부터 불러온 데이터들을 다시 불러올 필요가 없습니다. 그래서 접근성이 뛰어나므로 웹페이지의 전반적인 속도가 빨라집니다.

  1. 통신 최소화

프론트엔드가 해야하는 역할 중 하나가 통신을 적게하는 것입니다. 이것에 의해 성능이 좌지우지 되기도 하니깐요. 통신을 적게 한다는 것은 통신 부하를 줄일 수 있습니다.

<aside> 💡

심화질문

왜 방금 개발자가 반영한 작업이 서비스에 적용이 안되있나요?

→ 이유는 캐싱 때문입니다. 개발자가 특정 작업 파일을 변경합니다. 이후 해당 작업물을 서버에 배포합니다. 그런 후 실제 반영됐는지 테스트를 해봐야합니다. 근데 아무리 새로고침 해도 바뀐게 없습니다. 왜냐하면 기존에 변경되기 전 작업물이 캐싱되있어서 반영이 안바뀌는 것입니다. 그래서 개발자들이 캐시삭제 해보라고 많이들 말합니다.

그럼 활성유저는 캐시를 삭제해야 바뀐버전을 확인할 수 있나요?

→ 아닙니다. 개발자는 작업물의 파일이름을 바꿔야 합니다. 혹은 파일뒤에 날짜같은 것을 표기해둡니다. 컴퓨터가 파일이름 변경됐으니 캐싱된 것을 불러오지 않습니다. 즉, 개발자가 바꾼 파일을 불러옵니다. 결과적으로 활성유저는 변경된 것을 즉시 확인할 수 있습니다. 새로고침은 해야 바뀌긴 합니다.

</aside>