Programming

캐싱, 혹시 캐싱의 종류가 여러개로 나눌 수 있다는 걸 알고 계신가요?

송코딩 songcoding 2024. 10. 11. 08:00

안녕하세요 여러분!

송아지할때 송아 김송아입니다.

 

 

 

다들 가을은 잘 즐기고 계신가요!

저는 가을을 타는 건지ㅋㅋㅋㅋ 하.. 정신을 못 차리고 있습니다.

 

이걸 이렇게 타버린다고..? @이 캐릭터 누구더라.. 라인!

 

 

오늘은 가을을 맞아서 캐싱에 대해 진.지 하게 알아볼 거예요.

(가을이랑 상관 없는 거 맞음)

 

 

캐싱이란?

캐싱(Caching)이란, 필요한 데이터를 가까운 곳에 저장해두고 빠르게 사용할 수 있는 기술을 말합니다.

 

 

쉽게 말하면.. 
데이터가 필요한 곳 근처에 임시 거처를 마련해두고, 
거기 데이터를 저장해두고! 필요할 때 거기서 꺼내 쓰는 기술입니다.

 

여기서 필요한 데이터란, 연산의 결과 값이 될 수 있겠죠.

연산이 복잡하거나, 시간이 꽤 걸리는 작업이라면 연산을 미리해두고 결과 값을 저장해두는 겁니다.

 

 

 

왜 사용하나요?

그럼 우리는 그 연산의 결과가 필요할 때마다 연산을 매번 수행하는 것이 아니라, 이미 수행된 결과 값을 사용할 수 있겠네요.

즉, 당연한 소리지만👀..
필요한 데이터를 빠르게 사용할 수 있기 때문에 시스템 성능이 향상됩니다.

 

꼭 복잡한 연산에만 유용한 건 아닙니다.

쉽게 말해 데이터베이스에서 필요한 데이터를 반복적으로 꺼내쓸 때에도, 캐싱을 활용하면 정말 빠르겠죠?

 

 

 

어디에 저장하나요?

장소가 정해진 것은 아닙니다. 그렇다고 아무데나는 아니에요 (단호)

필요한 위치 또는 용도에 따라 적절한 장소를 선택할 수 있습니다.

 

1️⃣ 어플리케이션 운영 서버의 리소스(메모리, 디스크 등)

2️⃣ 별도 서버(레디스, Nginx 등)

3️⃣ 네트워크(CDN; Content Delivery Network 등)

 

@'아무데나 감자' 구글링

 

 

 

캐싱의 종류는 어떻게 분류하나요?

앞서 확인한 저장 장소에 따라 분류하는 것이 일반적입니다.

저장 장소랑 번호를 맵핑해뒀으니 참고하세요!

 

🎤 서버 캐싱

1️⃣ 어플리케이션 운영 서버의 리소스(메모리, 디스크 등)를 사용하는 방법

     - 서버 내부에 저장한다고 하여, 로컬 캐싱이라고 부르기도 합니다.

     - 세부 방법으로 메모리 캐싱, 디스크 캐싱을 따로 부르기도 합니다.

 

🎤 웹 캐싱

Client 요청이 오면 서버까지 안 들어가고 2️⃣ Nginx가 바로 받아치는 방법

     - 당연히 웹 어플리케이션 아키텍처 Nginx 구조에서, Nginx 서버에 캐싱해둬야겠죠?

 

🎤 네트워크 캐싱

3️⃣ 네트워크를 통해 전송되는 데이터들의 속도를 위해 사용하는 방법

 

 

 

레디스는 뭐라고 부르나요?

2️⃣ 레디스를 디스크 캐싱이라고 부르는 분들도 많습니다.

레디스는 스냅샷으로 '디스크'에 저장하기 때문입니다.

 

그냥 자체적으로 레디스라고 부르시는 분들도 많습니다.

레디스는 다양한 목적으로 사용될 수 있지만, 그 중에서도 대표적으로 대용량 데이터를 저장하는 캐싱을 위해 많이 사용되기 때문입니다.

 

 

-

 

 

 

여담🙈

 

캐싱을 어렵게 생각하시는 분들이 많은데, 캐싱은 별 거 아닙니다.

캐싱은.. 그냥 필요한 위치에 따로! 임시로! 저장해두는 것 뿐입니다.

 

저장을 어떻게 하냐구요? 여러분들 이미 저장 잘 하실걸요..?

변수 선언해서! 값을 넣어두면 되잖아요!🫢

 

그냥 진짜.. 별도의 저장소만 만드는 겁니다..!

쉽게 말해서 자바에서는 별도 클래스를 만들어서 거기 데이터를 임시로 저장해둘 수 있게 마련해두고

필요할 때 사용하는 것. 그게 바로 캐싱입니다.

 

참고로, 혹시 백엔드이신 분들은, 스프링 캐시와 레디스를 좀 더 파보시는 걸 추천드립니다💚

 

 

 

아무튼.. 캐싱은 가볍게 보세요. 가볍게!

 

는.... 가볍지 못한 내 인생에 필요한 정보들도 누가 캐싱해놔주면 얼마나 좋을까요^_^

그럼 여러분들의 편안한 마음은 어딘가에 캐싱되어 있길 바라며,

 

주말 잘 보내세요🍁