티스토리 뷰

728x90
반응형

Cache

 

전에 메모리에 대한 개념을 정리할 때, 캐시에 대해 적은 적이 있다.

 

쉽게 말하자면 캐시란 CPU와 메인 메모리 사이의 속도차에 의해 발생하는 병목현상을 줄이기 위해 존재한다.

 

이를 위해 CPU가 자주 사용할 것으로 예측되는 데이터를 메인 메모리로부터 미리 로드해 두는 기능을 하는데,

 

이때 적중률을 높이기 위해 사용되는 개념이 시간/공간/순차적 지역성이었다.

 

추가로 CPU는 메인 메모리를 읽기 전에 먼저 캐시를 확인하도록 조정되어 있다.

 

Redis

 

레디스는 2009년 미국에서 태어난, 비교적 젊은 DBMS이다.

 

태어난지 얼마 되지 않았지만, NoSQL In-Memory DB 중에선 그 순위가 최상위권(4위)에 위치한다.

 

조금 구체적으로 레디스는 기존의 테이블 모양이 아닌 키-값(Key-Value)구조를 지니고 있으며

 

인메모리 DB이기 때문에 성능이 굉장히 좋다.

 

추가적인 특징은 대략 아래와 같다.

 

  • 영속성을 지원(RDB, AOF) 하기 때문에 서버가 꺼지더라도 데이터 유실을 막을 수 있다.
  • 컬렉션 프레임워크(List, Set, Hash(value에 또 다른 key-value))를 지원한다.
  • 싱글 스레드에서 실행되기 때문에 원자성이 보장된다.
  • Pub/Sub를 지원한다.
  • JSON을 지원한다.

계속해서 위와 같은 특징을 이용해 레디스의 주 사용범위를 정리하면 아래와 같다.

 

  • 캐시
  • Pub/Sub를 이용한 서버간 메시지 브로커
  • JWT 등 인증 관리

즉, 안정적이고 휘발되지 않는 캐시 메모리로써 레디스를 사용할 수 있다는 뜻이다.

 

캐시와 레디스에 대한 소개는 이 정도로 하고, 앞으로 하나씩 그 특징과 활용도에 대해 알아가 보자.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함