Redis? Memcached?

Jiwon·2022년 4월 22일
0

Web

목록 보기
9/11

오픈소스, 인메모리 데이터 저장소

사용하기 쉽고, 고성능 자랑


Redis(Remote Dictionary Storage, 레디스)

  • 다양한 용도에 효과적으로 사용

  • 다양한 데이터 구조
    List, Set, 정렬된 Set, Hash, Bit 배열, hyperloglogs 지원

  • Snapshots
    특정시점에 데이터를 디스크에 저장하여 파일 보관 가능

  • 복제
    Master - Salves 구조로, 여러개의 복제본 생성 가능
    따라서, 데이터베이스 읽기를 확장할 수 있기 때문에 높은 가용성 클러스터 제공

  • 트랜젝션
    데이터베이스 상태를 변경시키는 작업 단위 의미
    원자성, 일관성, 독립성, 지속성 특징

  • Pub / Sub messaging
    Publish(발행)과 Sub(구독) 방식의 메시지 패턴 검색 가능
    높은 성능 요구하는 채팅, 실시간 스트리밍, SNS 피드, 서버상호통신 사용 가능

  • 루아 스크립트 지원

  • 위치 기반 데이터 타입 지원
    실시간 위치기반 데이터 지원.

Memcached(맴캐시드)

  • 명료, 단순

  • 멀티스레드 지원 -> 멀티프로세스코어 사용 가능
    => 스케일업 통해서 더욱 많은 작업처리

공통점

  1. 1ms 이하의 응답시간 제공
    데이터를 메모리에 저장 -> 디스크 기반의 데이터베이스보다 빠르게 읽을 수 있음

  2. 개발의 용이성

  3. 데이터 파티셔닝
    데이터를 여러 노드에 분산하여 저장 가능
    수요가 증가할 때, 더 많은 데이터를 효과적으로 처리하기 위해 스케일아웃 가능

  4. 다양한 프로그래밍 언어 지원

주의점

Redis가 가진 특징을 보면, 모든 상황에서 Redis를 써야할 것 같지만,

싱글쓰레드이기 때문에, 1번에 1개의 명령어만 실행 가능.
RDB작업 (특정 간격마다 모든 데이터를 디스크에 저장)이 매우 오래 걸림.


profile
과연 나는 ?

0개의 댓글