1. Redis
(1) Memcached와 비슷한 캐시 시스템으로 동일한 기능을 제공하면서 영속성, 다양한 데이터 구조와 같은 부가적인 기능을 지원
(2) Redis는 모든 데이터를 메모리에 저장하고 조회, 인메모리 데이터베이스
(3) 다양한 자료구조를 제공하여 개발하기에 편함
(4) 키-값 저장소로 NoSQL
2. Redis의 특징
(1) 영속성을 지원하는 인메모리 데이터 저장소
(2) 읽기 성능 증대를 위한 서버 측 복제를 지원
(3) 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding) 지우너
(4) 다양한 서비스에서 사용되며 검증된 기술
(5) literal, list, hash, set, sorted set 과 같은 다양한 데이터형을 지원
(6) 메모리 저장소임에도 불구하고 다양한 데이터형을 지원하음로 다양한 기능르 구현
3. Cache-Aside 패턴과 Write-Back 패턴
(1) Cache-Aside 패턴(빠른검색용)
- 검색 시 Redis에서 먼저 찾아보고 Redis에 저장된 내용이 있다면 저장된 정보를 바로 보여주고 없다면 MySQL에서 정보를 보여준 다음 검색된 내용을 redis에 저장
- Cache-Aside패턴를 사용한다면 같은 내용의 2번째 검색부터는 redis에 저장된 정보를 보여주기 때문에 속도가 빨라짐
(2) Write-Back 패턴(임시저장용)
- redis에 먼저 임시 저장해놓은 뒤 Database에 저장하는 방식
- 디스크 기반의 Database에 저장해야할 데이터 양이 많은 경우 디스크I/O(속도가 느린 현상)가 발생하게 되는데 이를 해결하기 위해 Write-Back 패턴을 사용
'Javascript > NestJS' 카테고리의 다른 글
Transaction (0) | 2022.12.18 |
---|---|
이미지 업로드 (0) | 2022.12.18 |
소셜 로그인 (0) | 2022.12.18 |
CORS (0) | 2022.12.18 |
결제 시스템 (0) | 2022.12.18 |