2012-07-27 2 views
7

나는 수천 명의 사용자가 동시에 메서드를 사용할 수있는 페이지가 있습니다. 매번 연결할 코드는 다음과 같습니다. 이것은 분리 된 memcache 서버로 갈 것이기 때문에 속도 저하를 야기 할 것인가? 단 한 번 연결하여 그 연결을 재사용 할 수있는 방법이 있을까요? 요청할 때마다 연결을 끊어야합니까?PHP memcache connect

$primary_connected = $memcache_primary->connect($primary_memcache_server, 11211); 
if($primary_connected){ 
     $data = $memcache_primary->get($key); 
     if ($data != NULL) { 
      return data; 
     } 
} 
else{ 
/////Get data from database 
} 

답변

3

당신이 다음 네, 당신은 영구 연결을 열 수 PHP memcached 클래스 (마지막에 d하지 memcache로 하나)를 사용하는 경우.

영속 ID를 생성자에 전달하면 영구 연결이 열리고 동일한 영구 ID를 사용하는 후속 인스턴스는 해당 연결을 사용합니다.

$memcached = new Memcached('method_name_or_persistent_identifier'); 
$memcached->addServer(...); 
// use it 

희망이 있습니다.

자세한 내용은 Memcached::__construct()을 참조하십시오.

+0

고마워요! 나는 memcache를 사용하지 않고 memcache를 사용했다. 나는 그들이 persistence connection을 허용하면서 memcached로 이동할 것이다. memcached는 memcache의 새로운 버전입니까? 감사합니다. –

+1

예, 'Memcached'는 영구 연결 및 CAS 토큰과 같은 더 많은 기능을 지원하는 새로운 버전입니다. 자세한 내용은 [이 질문 및 수락 답변] (http://stackoverflow.com/questions/1442411/using-memcache-vs-memcached-with-php)을 참조하십시오. 'Memcache'가 아닌 가능한 한'Memcached' 확장을 사용하십시오. – drew010

+0

감사합니다. 한 가지 더 묻습니다. http://php.net/manual/en/memcache.pconnect.php를 사용하면 문제가 발생할 것입니까? 이미 memcache를 구현했으며 memcached를 설치 한 후 성능 차이를보고 싶었 기 때문에. 장점은 내가 사용하는 방식으로 memcache와 함께 갈 것입니다. –