개요
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
당신이 도움이 문서에 도움이 다음을 추천하면 ~ 아래의 의견을 환영 위치를 모른다