C # Memcache를 클러스터링 개념, 클라이언트 구성 상세 분석

개요

  memcache에 오픈 소스 분산 캐싱 시스템의 집합입니다. 그리고 데몬 (모니터)에서 서비스 구성하여 클라이언트는 클라이언트의 연결 및 작업을 수신 할 준비가, 하나 개 이상의 서버에서 실행됩니다. Memcache의 주요 대상 데이터는 거대한 해시 테이블에 통합 된 메모리를 유지하여, 메모리에 캐시. 간단하게 말해서, 그것은 메모리에 데이터를 호출하고 따라서 크게 읽기 속도를 향상, 메모리에서 읽는 것입니다. 메모리에 저장된 Memcache의 객체는 저장소 키 / 값 쌍의 해시 맵에 기초. memcache에는 C로 작성하지만, 클라이언트는 어떤 언어로 기록 될 수 있고, memcached를 데몬 통신과 합의에 의하여.

특징 :  
  볼륨 항목 • 데이터는 Memcached가 저장 될 수만큼 충분한 메모리로, 제한 없음.
  64 비트 시스템에 대한 제한이없는 경우에는 32 비트 시스템은 하나의 프로세스가 더 많은 메모리를 사용하여, 2G의 메모리를 사용할 수있는 한계 • 최대 2G에 32 비트 시스템 메모리를 사용 memcached를 하나의 프로세스는, 이런 의한 다중 포트로 분할 될 수있다 여러 프로세스를 열 memcached를.
  • 데이터 만료 시간 30 일까지 영구적이 시간 만료 설정합니다 일정 REALTIME_MAXDELTA
  데이터의 가장 큰 단일 항목 • 데이터 저장 1MB의 이하 1메가바이트이다, 제어 상수 1048576을 POWER_BLOCK

Memcache를 클러스터링 개념

  Memcache의 : 클라이언트 중심의 클러스터에 의해 실현. 레디 스, MongoDB를 달성 된 서버 측 클러스터 상기 Memcache의 드라이버 초기화 시간이 같은 집합으로 설정 될 수있다

1  문자열 [] = {서버 " 172.20.10.7:11211 " , " 172.20.10.8:11211 " };

클러스터 다이어그램의 드라이버

Memcache의 장점과 단점 :

  1, 지속적으로 저장할 수 없습니다

  2 데이터 저장이 제한 : 1M [1M보다 큰 인위적 분할]

  3 단 키값 저장소

  4, 아니 클러스터 데이터 복제 및 동기화 메커니즘이 없습니다. [프로그램에 영향을 미치지 않습니다 벤 붕괴, 아니 마스터 - 슬레이브 복제가 없습니다 (추가 복제 오버 헤드 없음)]

  5, 메모리 리콜은 매우시의 적절 LRU되지 않습니다 : 사용되지 않는 메모리> 만료 된 메모리> 메모리 불활성 가장 최근에 사용 된 (고려 단점을) 삭제

  글쎄, 우리가 지금 알고 Memcache를 그것으로, 사실 매우 간단, 블로그에 내 문서를 참조하십시오 대해 : HTTPS : //www.cnblogs.com/chenyanbin/p/11415368.html

코드 구현 :

  1. 클라이언트 라이브러리 DLL을 다운로드

    주소 : HTTPS : //sourceforge.net/projects/memcacheddotnet/

    바이두 클라우드 디스크 :

      링크 : HTTPS : //pan.baidu.com/s/1tIkdYdp8rkKtXMeOeT24AA의
      추출 코드 : 5yk2

  라이브러리의 2, 도입

   3 기준을 추가

  4, 코드

1              // 분산시켜 Memcached 서버 IP 포트 
2              문자열 [] = {서버 " 172.20.10.7:11211 " } // Memcache의 기계는 IP
 . 3              // 초기화 풀 
. 4              SockIOPool 풀 = SockIOPool.GetInstance ()
 . 5              pool.SetServers ( 서버); // 연관된 연결 풀 
. 6              pool.InitConnections 용 = 3. ; // 링크를 초기화 
7.              pool.MinConnections의 = 3. ; // 연결의 최소 개수 
. 8              pool.MaxConnections의 = 5. ; //연결의 최대 숫자 
9.              = pool.SocketConnectTimeout 1,000 ; // 소켓 연결 제한 시간 
10              = pool.SocketTimeout 3000 ; // 소켓 초과 
. 11              pool.MaintenanceSleep = 30 ; // 소켓 수면 시간 
(12)이다              pool.Failover = true로 ,
 13은              풀. 네이글 = false로 ,
 14              pool.Initialize (); // 초기화
 15              // 클라이언트 예 
16              MemcachedClient MC = 새로운 새 ) (MemcachedClient 단계;
17              mc.EnableCompression = 거짓 ; // 압축 시작 
18              (mc.Add를 " keykey " , " valuevalue " ) // 추가
 19              // mc.Delete ( "keykey을"); // 삭제
 20              // mc.Set을 ( "", ""); //가 설정된
 21              // mc.Get를 ( ""); // 가져

구현 :

 

성공

 

 

DEMO의 예

링크 : HTTPS : //pan.baidu.com/s/1QhHEO71jMDCbZ72lbFNNcw
추출 코드 : 0a5i

당신이 도움이 문서에 도움이 다음을 추천하면 ~ 아래의 의견을 환영 위치를 모른다

추천

출처www.cnblogs.com/chenyanbin/p/11441490.html