뒤로
준프
준프 ·

캐시를 다루는 방법

캐시, 스레드와 관련된 글은 주로 백엔드 개발자가 다루는 내용이 많습니다. 하지만 개인적으로 프론트엔드 개발자도 스레드와 얼추(?) 친하다고 생각합니다. 왜냐하면, 한 명의 사용자라고 하더라도 브라우저의 한 세션이 유지되는 동안 동일한 자원에 예상할 수 없는 간격으로 접근할 수 있기 때문입니다. 그래서 그런지 누구나 동일 자원에 접근하는 순서를 보장하기위해 땀을 흘리며 코딩해본 경험을 한 번쯤 가져보지 않았을까요? 이건 접근 속도에 차이가 있을 뿐 스레드를 다룰 때와 비슷한 이슈라고 생각합니다. (접근 시간 간격과 동일한 자원)


그리고 캐시를 활용해 퍼포먼스 향상을 하기 위해선 그 뒤에 어떤 비용(관리, 컴퓨팅 자원 등)이 있는지 이해하는 것도 중요하다고 생각합니다. 만약 관리하는 데 많은 비용이 든다면 캐시를 활용했더라도 지속적으로 유지하기 어려운 전략이지 않을까... 하는 생각을 항상 갖고있는 편입니다. 그래서 그런지 캐시를 활용하기 전에 다른 방법으로 성능을 개선할 수 있는 방법은 없는지 먼저 고민하려고 합니다.

이번에 소개해드리는 글은 캐시를 다룰 때 발생할 수 있는 문제와 캐싱 전략, 그리고 캐시 무효화 전략을 다루는 글 두 편입니다. 한 글의 시작은 유명한 문장으로 시작하는데, 너무 인상적이어서 알고있는 분도 많으리라 생각합니다.

There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton

'앗! 너무 어렵고 내가 평소에 다루는 개념이 아닌데?'라고 생각하기 보단 한 번 스윽 보고 캐시를 다뤄야 할 때 한 번 검토해보는 것도 좋지 않을까요? :)

0

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.