일반적으로 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
반응형
'DATA > Redis' 카테고리의 다른 글
[NHN FORWARD 2021] Redis 야무지게 사용하기 보고 정리 (0) | 2023.08.26 |
---|---|
Redis vm 생성, AWS EC2 설치 (0) | 2023.08.06 |
[공유] (번역) 캐시 시스템 설계할 때 기억해야 할 6가지 캐싱 전략 (0) | 2023.06.18 |
Redis 사용시 주의사항 (0) | 2023.03.09 |
Redis - Serialize, Unserialize 란? 직렬화 저장의 단점 (0) | 2022.12.29 |
댓글