CS

[CS]cache: Redis VS Memcached

KJihun 2024. 9. 25. 00:27
728x90

 

 

RedisMemcached는 둘 다 분산 캐시로 사용되는 인메모리 데이터 저장소이지만 여러 차이점들이 존재한다.


데이터 구조

  • Redis
    • 단순한 key-value 저장소뿐만 아니라 다양한 데이터 구조를 지원 다양한 종류의 데이터 처리에 적합하다.
    • 문자열, 리스트(List), 해시(Hash), 셋(Set) 등
  • Memcached
    • 오직 단순한 key-value 데이터 구조만 지원한다. 문자열(String)만 저장할 수 있다.

 

영속성 (Persistence)

  • Redis: 영속성(Persistence) 을 보장한다. 
  • Memcached: 영속성을 보장하지 않는다.

 

복제(Replication) 및 클러스터링(Clustering)

  • Redis
    • 복제 기능을 제공하며, 클러스터링을 통해 여러 서버 간에 데이터를 분산 처리할 수 있다.
    • 이를통해 고가용성과 확장성을 확보할 수 있다.
  • Memcached
    • 기본적으로는 복제 기능이 없고, 클러스터링을 위한 별도의 설정이 필요하다.

 

메모리 관리

  • Redis
    • LRU(Least Recently Used) 정책을 통해 메모리 관리를 할 수 있다.
    • 데이터를 압축하고 메모리 최적화 기능도 제공하여 메모리 효율을 높일 수 있다.
  • Memcached
    • LRU 정책을 사용하지만, 메모리 최적화 기능은 제한적이다.

 

속도

  • Redis
    • 기본적으로 빠르며 성능이 뛰어나지만, 복잡한 데이터 구조나 영속성 기능이 활성화된 경우에는 성능 저하가 발생한다.
  • Memcached
    • 단순한 구조로 인해 순수한 캐싱 성능만 따지면 Redis보다 빠르다.