본문 바로가기
DATA/Redis

Memcache 와 Redis 비교

by bzerome240 2023. 8. 4.

 

일반적으로 Redis는 Memcached의 기능을 대부분 포함하고 있다.

 

Redis 에 저장할 수 있는 자료구조가 다양한 것을 볼 수 있고

싱글스레드와 멀티스레드 차이점이 있습니다. (아래에 대용량 데이터처리는 멀티스레드가 더 좋은데 왜 redis 를 사용하는지 적어놨습니다)

 

Memory Policy는 메모리가 풀로 찼을 때 자동적으로 어떤 데이터가 지워지느냐인데, 

Memcached는 LRU 알고리즘을 사용해서 가장오랫동안 사용하지 않은 키를 삭제합니다.

Redis는 다양한 옵션을 제공하고 있어서 데이터 특성에 맞게 설정이 가능합니다.

 

persistence 영속성은 장애를 대비하여 백업할 수 있는가 이며

Memcached는 따로 제공하지 않고, Redis 는  AOF 또는 RDB 형식을 제공해줍니다.

  Redis Memcached
DataType Hash, List, Set, Sorted Set, Geo, String String
Thread Single Thread Multi Threads
Scale ScaleOut ScaleUp
Memory Policy no eviction, volatile-lru, volatile-ttl, allkey-random LRU 
Persistence AOF, RDB none

 

 

캐시..

 

대용량 트래픽을 주로 다루므로 memcached가 필요할 수 있지만,
Redis 가 가장 우선 고려대상이 되는 이유?

 

  • Redis는 CacheDB의 기본적인 목표인 가장 빠른 조회속도를 내기 가장 쉽다.
  • 분산 클러스터 모드를 지원하므로 확장성도 제공할 수 있다.
  • 자료구조와 기능이 다양하다.
  • self-managed하기에 레퍼런스가 충분히 많고, managed service도 여러 회사에서 지원한다.

 

서비스 규모가 커질수록 멤캐시로는 버거운 상황이 생긴다.

Redis 가 더 많은 기능을 지원하기 때문에 MemcacheD를 쓰다가 기능이 부족해서 Redis를 쓸바에 그냥 Redis 를사용하는 것이 좋다고 한다.

요즘엔 MemcacheD를 사용하는 프로젝트를 보기 어렵다고 한다.

 

728x90
반응형

댓글