memcache와memcached의 차이 및 사용 방법
이 글을 쓰기 전에memcache,memcached에 대해 모호하고 알파벳 하나가 다르다는 것을 요약한다.
Memcache가 뭐예요?Memcache는 자유롭고 오픈 소스 코드, 고성능, 분배된 메모리 대상 캐시 시스템입니다.동적 웹 응용 프로그램을 가속화하고 데이터베이스 부하를 줄이는 데 사용됩니다.그것은 막히지 않는 네트워크 IO를 사용하여 임의의 여러 연결에 대응할 수 있다.그것의 작업 메커니즘은 메모리에 공간을 열어 Hash 테이블을 만드는 것이기 때문에Memcached는 자체적으로 이 Hash 테이블을 관리한다.Memcached는 간단하면서도 강력합니다.그것의 간단한 설계는 신속한 배치를 추진하고 직면한 문제를 발전시키기 쉬우며 많은 대형 데이터 캐시를 해결했다.그것의 API는 가장 유행하는 언어를 제공할 수 있다.Memcache 공식 홈페이지:http://memcached.org/
Memcached는 또 뭐야?Memcache는 이 시스템의 프로젝트 이름입니다. Memcached는 이 시스템의 메인 프로그램 파일(알파벳 d는daemon으로 이해할 수 있음)으로 수호 프로그램 방식으로 한 개 이상의 서버에서 실행되며 클라이언트의 연결 작업을 수시로 받아들여 공유 메모리로 데이터를 저장합니다.
memcache 클라이언트(php) PHP에는 두 개의memcache 클라이언트가 있습니다: phpmemcache와 phpmemcached.phpmemcache는 독립적으로 php로 실현되고 오래된 클라이언트입니다. 우리 실천에서 여러 가지 문제가 발견되었고 기능이 적으며 속성도 설정할 수 없습니다.http://pecl.php.net/package/memcachephpmemcached는 원생 c의libmemcached의 확장을 바탕으로 더욱 보완되고 phpmemcached로 교체하는 것을 권장합니다.http://pecl.php.net/package/memcached
memcached 설치 (서비스포트)
cd /root/lnmp/src/wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gztar xzf memcached-1.4.15.tar.gzcd memcached-1.4.15./configure --prefix=/usr/local/memcached make && make installln -s /usr/local/memcached/bin/memcached /usr/bin/memcached/bin/cp scripts/memcached.sysv /etc/init.d/memcachedsed -i 's@^USER=.*@USER=root@'/etc/init.d/memcachedsed -i 's@chown@#chown@'/etc/init.d/memcachedsed -i 's@/var/run/memcached/memcached.pid@/var/run/memcached.pid@'/etc/init.d/memcachedsed -i 's@^prog=.*@prog="/usr/local/memcached/bin/memcached"@'/etc/init.d/memcached # , chmod +x /etc/init.d/memcachedchkconfig --add memcachedchkconfig memcached oncd ..
memcached 시작:
service memcached start # memcached -p 11211-l 127.0.0.1-d -u root -P /var/run/memcached.pid -m 64M-c 1024
몇 가지 매개변수에 대한 설명:
socket 방식으로memcached에 접근하기를 원한다면, 시작할 때 -l와 -p 파라미터를 제거하고 -s 파라미터를 추가해야 합니다.
php에서memcache 확장 구성 요소 설치:
tar xzf memcache-2.2.7.tgzcd memcache-2.2.7/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make installcd ../
내 환경에 따라 컴파일된memcache./usr/local/php/lib/php/extensions/no-debug-non-zts-201212/디렉터리에 자동으로 생성됩니다. 환경이 다르면 자신의 상황에 따라 php를 수정해야 합니다.미나야.
이어서 해야 할 일은 php가 이 확장자를 불러와서 당신의 php를 편집하는 것입니다.ini, 아래와 같이 적절한 위치(일반적으로 마지막일 수도 있고 독립적인 ini 파일일 수도 있음)에 추가합니다.
extension=memcache.so
그리고 php나apache를 다시 켜서 phpinfo () 를 실행해서 확인해 보세요. 정상적이면 이걸 볼 수 있을 것 같아요:memcache
php-memcache의 간단한 사용 예:
<?php$memcache =newMemcache; $memcache->connect('127.0.0.1','11211'); $memcache->setCompressThreshold(20000,0.2);// echo $memcache->getVersion();// memcached $test = array(1,2,3,4,5,'abcde');// if($memcache->get('test')){ print_r($memcache->get('test'));// echo "
"; echo 'cached'; echo "
";}else{ $memcache->set('test',$test,0,30);// echo 'no cache'; echo "
";}?>
php에서memcached 확장 구성 요소 설치(LNMP 원키 설치 패키지): 최신 ibmemcached-1.0.17.tar.gz가 오류를 보고할 수 있습니다:'HAVE_MEMCACHED_BINARY'was not declared in this scope 용 libmemcached-1.0.16.tar.gz는 다음과 같이 설치할 수 있습니다.
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gzwget http://pecl.php.net/get/memcached-2.1.0.tgztar xzf libmemcached-1.0.16.tar.gzcd libmemcached-1.0.16./configure --with-memcached=/usr/local/memcachedmake && make installcd ..tar xzf memcached-2.1.0.tgzcd memcached-2.1.0/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install
내 환경에 따라 컴파일된memcached./usr/local/php/lib/php/extensions/no-debug-non-zts-201212/디렉터리에 자동으로 생성됩니다. 환경이 다르면 자신의 상황에 따라 php를 수정해야 합니다.미나야.
이어서 해야 할 일은 php가 이 확장자를 불러와서 당신의 php를 편집하는 것입니다.ini, 아래와 같이 적절한 위치(일반적으로 마지막일 수도 있고 독립적인 ini 파일일 수도 있음)에 추가합니다.
extension=memcached.so
그리고 php나apache를 다시 켜서 phpinfo () 를 실행해서 확인해 보세요. 정상적이면 이걸 볼 수 있을 거예요:memcached
총괄: 사실은 매우 간단하다.memcache는 php의 확장자로php관리memcached(서비스단), php-memcache에 사용된다.dll.
memcached(서비스포트)를 설치하고 확장을 설치하지 않으면 php가memcached를 조종할 수 없지만 명령줄을 사용하는 데 문제가 없습니다.
PHPmemcache 클라이언트(phpmemcache와 phpmemcached)가 설치되어 있으면그러나memcached(서비스포트) 서비스가 설치되어 있지 않으면 사용할 수 없습니다
memcached(서비스포트)와 PHPmemcache 클라이언트 확장을 동시에 설치해야만 동적 사이트 성능을 향상시킬 수 있습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
양식 제출 후 제출 버튼 비활성화텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.