DATA/Redis
Memcache 와 Redis 비교
bzerome240
2023. 8. 4. 23:30
일반적으로 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
반응형