Memcached

고성능 캐시 또는 세션 스토어로 사용할 수 있는 사용이 간편한 분산 인 메모리 키-값 스토어.

Memcached란 무엇입니까?

Memcached는 사용이 간편한 고성능 인 메모리 데이터 스토어입니다. 1밀리초 미만의 응답 시간을 제공할 수 있는 성숙하고 확장 가능한 오픈 소스 솔루션을 제공하므로 캐시 또는 세션 스토어로 사용하기 유용합니다. Memcached는 웹, 모바일, 앱, 게임, 광고 기술 및 전자 상거래에서 실시간 애플리케이션을 지원할 때 널리 사용됩니다.

Memcached란 무엇입니까?

Memcached는 어떻게 작동합니까?

데이터를 디스크 또는 SSD에 저장하는 데이터베이스와는 달리 Memcached는 데이터를 메모리에 유지합니다. 디스크에 액세스할 필요가 없으므로 Memcached와 같은 인 메모리 키 값 스토어는 검색 시간 지연을 방지하고 수 마이크로초 만에 데이터에 액세스할 수 있습니다. 또한, Memcached는 분산형입니다. 즉, 새로운 노드를 추가하여 손쉽게 확장할 수 있습니다. Memcached가 다중 스레드이므로 컴퓨팅 파워를 손쉽게 확장할 수 있습니다. 속도 및 확장성, 단순한 설계, 효율적인 메모리 관리 및 인기 있는 언어 대부분에 대한 API 지원의 결과로 Memcached는 고성능의 대규모 캐싱 사용 사례에 널리 사용됩니다.

Memcached 이점

Memcached는 서버의 주 메모리에 모든 데이터를 유지합니다. 데이터 대부분을 디스크 또는 SSD에 저장하는 PostgreSQL, Cassandra 및 MongoDB와 같은 데이터베이스와는 달리 인 메모리 데이터 스토어는 반복해서 디스크를 왕복할 필요가 없습니다. 따라서 더 많은 작업을 처리하고 더 빠른 응답 시간을 지원할 수 있습니다. 그 결과 1밀리초 미만의 평균 읽기 및 쓰기 시간과 초당 수백만 개의 연산 지원이라는 빠른 성능을 자랑합니다.

Memcached는 간단하고 일반적이 되도록 설계되었으므로 애플리케이션 개발에 사용하기에 쉬우면서 강력합니다. Memcached 개발자는 다수의 오픈 소스 클라이언트를 사용할 수 있습니다. 지원되는 언어로는 Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, Go 등이 있습니다.

Memcached의 분산 및 다중 스레드 아키텍처를 사용하면 손쉽게 확장할 수 있습니다. 여러 노드 간에 데이터를 나눌 수 있으므로, 클러스터에 새로운 노드를 추가하여 용량을 확장할 수 있습니다. 또한, Memcached는 다중 스레드이므로 주어진 노드에서 여러 개의 코어를 사용할 수 있습니다. 따라서 컴퓨팅 파워를 간단하게 확장할 수 있습니다. Memcached에서는 빠르고 일관된 성능을 제공하도록 설계된 고도로 확장 가능한 분산 캐싱 솔루션을 구축할 수 있습니다.

Memcached는 활발한 커뮤니티에서 지원하는 성숙한 오픈 소스 프로젝트입니다. WordPress 및 Django와 같은 애플리케이션은 Memcached를 사용한 성능 개선을 지원합니다. Memcached가 개방형 표준을 기반으로 하고 오픈 데이터 형식을 지원하며 다양한 클라이언트 세트를 제공하므로 공급업체 또는 기술에 대한 종속이 없습니다.

사용 사례

캐싱

Memcached는 고성능 인 메모리 캐시를 구현하여 데이터 액세스 지연 시간을 줄이고 처리량을 늘리며 백엔드 시스템의 로드를 완화하는 데 매우 적합합니다. Memcached는 1밀리초 미만으로 캐시된 항목을 처리할 수 있으며, 더 많은 로드를 위해 쉽고 비용 효율적으로 확장할 수 있도록 지원합니다. Memcached는 데이터베이스 쿼리 결과 캐싱, 세션 캐싱, 웹 페이지 캐싱, API 캐싱, 이미지, 파일 및 메타데이터와 같은 객체 캐싱에 널리 사용됩니다.

세션 스토어

인 메모리 데이터 스토어로서 Memcached는 지속성이 중요하지 않은 경우 인터넷 규모 애플리케이션을 위한 세션 데이터를 저장하고 관리하는 애플리케이션 개발자들 사이에서 널리 사용됩니다. Memcached는 사용자 프로필, 자격 증명 및 세션 상태와 같은 세션 데이터를 관리하는 데 필요한 1밀리초 미만의 지연 시간과 규모를 제공하도록 설계되었습니다.

언어 지원

Memcached에서는 다음과 같이 주요 프로그래밍 언어와 프로토콜 대부분을 지원합니다.

Python

Java

PHP

C/C#/C++

Perl

Go

Ruby

JavaScript

Node.js

ASCII 프로토콜

바이너리 프로토콜

TCP 및 UDP 프로토콜

Redis 대 Memcached

Redis와 Memcached는 가장 인기 있는 2가지 메모리 키 값 데이터 스토어입니다. Memcached는 단순성을 위해 설계된 반면 Redis는 광범위한 사용 사례에 효과적인 풍부한 기능을 제공합니다. 어느 솔루션이 귀하의 요구 사항을 더 잘 충족시키는 지 결정할 수 있도록 두 엔진 간의 차이점을 이해하십시오. Redis 및 Memcached 비교에 대해 자세히 알아보기

AWS 기반의 완전관리형 Memcached

Amazon에서는 완전관리형 Memcached 서비스인 Amazon ElastiCache for Memcached를 제공합니다.

  • 클라우드에서 Memcached 배포를 손쉽게 설정, 운영 및 확장합니다. 실패한 노드는 자동으로 탐지되고 교체됩니다.
  • 비용 효율적이고 크기 조정 가능한 하드웨어 용량을 활용합니다.
  • ElasitCache Memcached 클러스터 클라이언트Auto Discovery와 함께 사용하여 노드 관리를 간소화함으로써 애플리케이션 개발을 가속화합니다.