>  기사  >  Memcached의 작동 원리에 대한 자세한 소개 [요약]

Memcached의 작동 원리에 대한 자세한 소개 [요약]

藏色散人
藏色散人원래의
2018-09-10 17:55:282172검색

이 글에서는 주로 Memcached의 작동 원리를 자세히 소개합니다. Memcached 비디오 튜토리얼 또는 Memcached 매뉴얼을 참조할 수도 있습니다.

1. 소개:

Memcache는 메모리에 통합된 거대한 해시 테이블을 유지함으로써 이미지, 비디오, 파일 등 다양한 형식의 데이터를 저장하는 데 사용할 수 있습니다. 데이터베이스 검색 결과 등 간단히 말하면, 데이터가 메모리로 호출된 다음 메모리에서 읽혀지므로 읽기 속도가 크게 향상됩니다. Memcached는 하나 이상의 서버에서 데몬으로 실행되며 언제든지 클라이언트 연결 및 작업을 수신합니다.

2. 기능:

1. 메모리가 충분하다면 Memcached에 저장할 수 있는 항목 데이터의 양에는 제한이 없습니다.

2. 단일 Memcached 프로세스에서 사용하는 최대 메모리는 2G입니다. 더 많은 메모리를 사용하려면 여러 포트에서 여러 Memcached 프로세스를 열 수 있습니다.
3. 최대 데이터 만료 시간은 30일입니다. 이 때 만료됩니다. 상수 REALTIME_MAXDELTA
4. 최대 키 길이는 250바이트입니다. 이 길이보다 크면 저장할 수 없습니다. 상수 KEY_MAX_LENGTH 250
5로 제어됩니다. 1MB를 초과하는 데이터는 저장되지 않습니다. 상수 POWER_BLOCK 1048576,
6. 최대 동시 연결 수는 200입니다. conn_init()에서 freetotal에 의해 제어되며, settings.maxconns=1024를 통해 최대 소프트 연결 수는 1024입니다. 공간 점유 관련 매개변수 제어: settings.factor=1.25, settings.chunk_size=48, 슬래브의 데이터 점유 및 스테핑 방식에 영향을 줍니다

8. Memcached는 libevent 라이브러리를 기반으로 하는 비차단 소켓 통신 서비스이므로 메모리 읽기 및 쓰기 속도가 매우 빠릅니다.

9.memcached는 서버와 클라이언트로 구분됩니다. 여러 서버와 클라이언트를 구성할 수 있으며 분산 서비스에 널리 사용됩니다.

10. Memcached는 소규모 데이터 유통 플랫폼으로 매우 효과적입니다.

11.memcached는 키와 값이 일대일로 대응됩니다. 기본 키는 128자를 초과할 수 없습니다. 섹션의 기본 값 크기는 1M이며, 2M(연속) 값을 저장하려는 경우 두 개의 슬래브가 연속적이지 않고 메모리에 저장될 수 없으므로 두 개의 슬래브를 사용할 수 없습니다. 저장을 위해서는 slab의 크기를 수정해야 하는데, 여러 개의 키와 값이 저장되면 slab을 완전히 사용하지 않더라도 다른 데이터는 저장되지 않습니다.

12. 낮은 값의 데이터를 넣으세요. 그렇지 않으면 서버가 다운되면 모든 데이터가 손실됩니다

3. 적용 가능한 경우

1. memcached 자체는 분산 시스템을 기반으로 하기 때문에 특히 대규모 분산 시스템에 적합합니다.

2. 데이터베이스 프런트엔드 캐시. 데이터베이스는 종종 웹사이트 시스템의 병목 현상이 됩니다. 데이터베이스에 대한 대규모 동시 액세스로 인해 웹 사이트 메모리가 오버플로되는 경우가 많습니다. 물론 우리는 Hibernate의 캐싱 메커니즘을 사용할 수도 있습니다. 그러나 Memcached는 배포 기반이며 웹사이트 애플리케이션 자체와 독립적일 수 있으므로 애플리케이션을 분할하는 대규모 웹사이트에 더 적합합니다.

3. 서버 간 데이터 공유. 예를 들어, 웹 사이트의 로그인 시스템과 쿼리 시스템을 두 개의 애플리케이션으로 분할하여 서로 다른 서버에 배치하고 클러스터링한 다음 사용자가 로그인한 후 로그인 정보가 로그인 시스템 서버에서 쿼리 시스템으로 어떻게 동기화됩니까? 서버요? 이때 로그인 시스템은 로그인 정보를 캐시하고 쿼리 시스템은 로컬 정보를 얻는 것처럼 로그인 정보를 얻을 수 있습니다.

4. 적용할 수 없는 경우

"배포"할 필요가 없거나, 공유할 필요가 없거나, 서버가 하나만 있을 정도로 작은 애플리케이션의 경우 memcached는 어떤 이점도 가져오지 않습니다. 네트워크 연결에도 리소스가 필요하기 때문에 시스템 효율성이 느려집니다.

이 문서에는 특정 참고 가치가 있으므로 도움이 필요한 모든 사람에게 도움이 되기를 바랍니다!


위 내용은 Memcached의 작동 원리에 대한 자세한 소개 [요약]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.