REDIS

전은평·2023년 4월 24일
0

REDIS란?

Remote Dictionary Server의 약자로, NoSQL으로서, Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)이다.

데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소

redis의 특징으로는

  • 영속성을 지원하는 인메모리 데이터 저장소
  • 읽기 성능 증대를 위한 서버 측 복제를 지원
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding) 지원
  • 다양한 서비스에서 사용되며 검증된 기술
  • 문자열, 리스트, 해시, 셋, 정렬된 셋과 같은 다양한 데이터형을 지원. 메모리 저장소임에도 불구하고 많은 데이터형을 지원하므로 다양한 기능을 구현

Cache-aside-pattern & Write-back-pattern

redis에서 많이 사용되는 패턴으로 2가지를 꼽을 수가 있는데
빠른 검색에 사용되는 cache-aside-pattern 과 임시저장에 사용되는 write-back-pattern이 있다.

cache-aside-pattern

  • 검색 시 Redis에서 먼저 찾아보고 Redis에 저장된 내용이 있다면 저장된 정보를 바로 보여주고 없다면 MySQL에서 정보를 보여준 다음 검색된 내용을 redis에 저장하는 방식
  • Cache-Aside패턴를 사용한다면 같은 내용의 2번째 검색부터는 redis에 저장된 정보를 보여주기 때문에 속도가 빨라진다.

write-back-pattern

  • redis에 먼저 임시 저장해놓은 뒤 Database에 저장하는 방식
  • 디스크 기반의 Database에 저장해야할 데이터 양이 많은 경우 디스크I/O(속도가 느린 현상)가 발생하게 되는데 이를 해결하기 위해 Write-Back 패턴을 사용한다.

참고자료:
코드캠프 수업자료
https://wildeveloperetrain.tistory.com/21

profile
`아는 만큼 보인다` 라는 명언을 좋아합니다. 많이 배워서 많은 걸 볼 수 있는 개발자가 되고 싶습니다.

0개의 댓글