본문 바로가기

cache

(2)
Eviction, Expiration, Passivation cache는 속도를 위해 대부분 memory를 사용memory는 disk에 비해 사용 공간이 훨씬 적을 수 밖에 없음 Eviction - 공간이 필요할 때 어떤 데이터를 지워주는 것 - memory가 가득 차면 사용하지 않는 데이터를 지워줘야 새로 데이터가 들어올 수 있음 - 대부분 LRU(Least Recently Used : 가장 오랜 기간 참조되지 않은 데이터를 교체) 알고리즘 방식을 사용 Expiration - 데이터의 유통기한 - 일반적으로 TTL(Time To Live)이라는 단어를 사용 Passivation - 기능을 사용하면 eviction의 대상이 되는 데이터가 지워지기 전에 우선 디스크등 다른 스토리지에 저장 - 추후 같은 데이터에 대한 요청이 들어오면 파일에서 찾아 돌려줌
memcached vs redis vs arcus memcached - 분산 메모리 캐싱 시스템 - 결과 데이터를 작은 단위의 key - value 형태로 메모리에 저장 - 필요로 하는 메모리가 부족한 경우 시스템에서 가져다 쓰기 편하게 함 - 논리적 결합으로 각각의 서버 메모리를 합해서 하나의 메모리 처럼 사용할 수 있게 해줌 (메모리 효율성이 좋음) redis - 가장 단순한 key - value 구조를 가지고 있음 - 다양한 데이터 타입 지원 (string, set, sorted set, hashes, list) arcus - memcached와 zookeeper를 기반으로 개발 됨 - memcached 프로토콜을 지원하고, memcached의 기본 성능 혜택은 유지 됨. - memcached 에서 확장 되어 추가로 제공하는 기능 - zookeep..