분산 캐싱 시스템 Memcached가 빠른 시작

 

 

 memcached를 소개  

     Memcached가 데이터베이스의 부하를 줄일 수있는 동적 웹 애플리케이션을위한 고성능 분산 메모리 오브젝트 캐싱 시스템입니다. 그것은 메모리에 객체가 데이터베이스에서 읽기 캐시 데이터의 수를 줄이기 위해 데이터베이스 기반 웹 사이트의 동적 속도를 제공하는 것입니다.
  Memcached가 이름은 "메모리 캐시"를 의미, 의미, 모든 내용은 서버의 메모리에 캐시됩니다. 캐시 데이터 메모리는 API의 방법으로 액세스 할 수 있습니다. 데이터는 해시 테이블 많이 같은 키 / 값 쌍으로 존재한다.
 
 

memcached를 설치 / 실행

리눅스, FreeBSD의, 솔라리스, 맥 OS, 또한 윈도우에 설치할 수 있습니다 Memcached가 많은 플랫폼을 지원합니다.

리눅스 시스템은 먼저 libevent 라이브러리를 설치해야합니다 우선 memcached와를 설치합니다.

sudo는 apt-get을 ibevent-는 libevent를 설치 DEV 자동으로 다운로드 (우분투 / 데비안)를 설치 

냠 다운로드 자동으로 libevent를 설치하고 libevent-(STABLE)을 설치 (레드햇 / 페도라 / CentOS의)

memcached를 설치

우분투 / 데비안

sudo는 apt-get을 설치 memcached를

레드햇 / 페도라 / CentOS의

냠 memcached를 설치

FreeBSD의

portmaster 데이터베이스 / memcached를

실행 Memcached가

명령을 실행 memcached를 :

$ / usr / 지방 / memcached를 / 빈 / memcached를 -h 명령 도움말

참고 : 자동 설치가 memcached를 명령있는 경우  / usr / 지방 / 빈 / memcached를을 .

시작 옵션 :

  • 데몬을 시작 -d입니다;
  • ] -m이 Memcache의 사용에 할당 된 메모리의 양이며 단위는 MB
  • -u 사용자는 Memcache를 실행중인;
  • -l 서버 IP 주소를 수신하고, 여러 개의 주소를 가질 수 있습니다;
  • -p 포트를 청취하는 것은 바람직하게는 적어도 1024 ,, Memcache의 포트를 설정한다;
  • 기본값은 1024 실행 최대 동시 연결 수는 -c이다;
  • -P는 PID 파일에서 Memcache에 저장됩니다 설정합니다.

(1) 전경 프로그램으로 실행 :

터미널에서 다음 명령을 입력 memcached를 시작 :

/ usr / 지방 / memcached와 / 빈 / memcached를 -p 11211 -m 64m -vv 

슬래브 클래스 1 청크 크기 88 perslab 11,915 

슬래브 클래스 2 청크 크기 112 perslab 9362 

슬래브 등급 3 : 청크 크기 144 7281 perslab 

中间省略

슬래브 클래스 38 : 청크 크기 391,224 perslab 2 

슬래브 클래스 39 : 청크 크기 489,032 perslab 2 

<23 서버가 수신 

<24 송신 버퍼가 110,592, 지금 268,435,456이었다 

<24 서버가 수신 (UDP) 

<24 서버가 수신 (UDP) 

<24 서버 (UDP)을 수신 

< 24 서버 청취 (UDP)

이 디버그 정보를 보여줍니다. 이 TCP 포트 11211의 64M의 최대 메모리 사용에서 수신되는 memcached의 전경에서 시작했다. 디버깅 정보에 대한 대부분의 정보가 저장된다.

(2) 배경 서비스 프로그램으로 실행 :

# / usr / 지방 / memcached를 / 빈 / memcached를 -p 11211 -m 64m -d

또는

/ usr / 지방 / memcached를 / 빈 / memcached를 -d -m 64M -u 루트 -l 192.168.0.200 -p 11211 -c 256 -P /tmp/memcached.pid
 
 

Memcached가 분석을 작동

Memcached가가 주요 기능을 분산, 그래서 당신은 더 큰 캐시 서버를 조립하기 위해 여러 서버를 memcached를 설치할 수 있습니다. 그 결과, Memcached가 우리가보다 빠르고 확장 가능한 웹 애플리케이션을 구축 할 수 있도록 데이터베이스에 대한 압력을 최소화하는 데 도움이 있습니다.

많은 웹 애플리케이션은 브라우저의 화면에서 읽을 RDBMS, 애플리케이션 서버 및 데이터에 데이터를 저장합니다. 그러나 데이터를 중앙 집중식 액세스의 양이 증가, 지연에 큰 영향을 보여주는 사이트의 악화에 대응하여 무거운 부담 RDBMS 데이터베이스가있을 것입니다. Memcached가 고성능, 분산 메모리 캐시 서버, 데이터베이스 액세스의 수를 줄임으로써 캐싱 데이터베이스 쿼리 결과, 확장 성을 향상, 동적 웹 애플리케이션의 속도를 향상시킬 수있다. 다음 그림은 데이터베이스 측 memcache에와 협력 작업을 보여줍니다

 

 

어디 프로세스가 이것이다 :
           캐시가 있는지, 만약 있다면, 사용자가 요청한 데이터를 확인 1. 우리는 필요한 경우에만 데이터베이스를 조회 할 필요없이, 직접 요청 된 데이터를 반환합니다.

           요청 된 데이터가 캐시에없는 경우 2. 이번에는 데이터베이스를 쿼리로 이동합니다. 동시에 요청 된 데이터, 캐시 사본에 저장된 데이터를 반환합니다.
           데이터 변경이 캐시를 유지하는 때마다 3 (데이터의 경우는, 수정 또는 삭제 된 같은) "신선도는"캐시 동기화 정보는 사용자가 기존의 캐시하지 않도록 업데이트 할 데이터입니다.

     분산 캐시 서버 고속 동작으로 memcached를, 그것은 다음과 같은 특징이 있습니다 :
  • 간단한 프로토콜 
  • Libevent 기반 이벤트 처리 
  • 내장 메모리 저장
  • 서로 통신 할 memcached를 분산

 

어떻게 분산 확장 성을 구현하는 방법

memcached를 서버 측에서 구현되지 분산되지만 클라이언트 응용 프로그램에서 구현, 즉, 데이터의 기본 알고리즘을 통해 타겟 노드의 개발, 아래와 같이

 

 

참조 :

비교 분석 (데이터 캐시 시스템) 프로그램에서 Memcache, 레디 스, MongoDB를

리눅스 Memcached가 설치

추천

출처www.cnblogs.com/-wenli/p/11441438.html