memcache
정의
memcache는 분산된 고속 캐싱 시스템입니다
는 현재 많은 웹사이트에서 웹사이트 액세스 속도를 개선하기 위해, 특히 일부 웹사이트에서 사용됩니다. 대규모
워크플로우
1. 먼저 클라이언트가 접근한 데이터가 memcache에 있는지 확인하고, 그렇다면 직접 반환
2. 데이터베이스를 저장하는 동시에 Memcache에 복사본을 캐시하여 읽기 속도를 크게 향상시킵니다.
애플리케이션 및 기능
1. 웹페이지 또는 데이터베이스 캐시에 사용됩니다.
2. 세션공유
에 사용 가능합니다. 작지만 큰 데이터 변경의 경우(예: Weibo 팬 +1)
4. 메모리에 저장된 데이터는 지속될 수 없습니다.
캐시 최적화 규칙: 28가지 원칙
20% : 핫 데이터, 자주 액세스되는 데이터. 캐시로 사용, 메모리에 저장
80%: 기본적으로 변경되지 않은 데이터, 솔리드 스테이트 드라이브에 저장
php는 memcache 모듈을 로드합니다
현재 PHP 환경 감지
vim ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin/:/usr/local/lnmp/php/bin
. ~/.bash_profile 또는 소프트 링크 만들기
[root@server11 bin]# ln -s /usr/local/lnmp/php/bin /usr/local/bin/
컴파일
tar zxf memcache-2.2.5.tgz cd memcache-2.2.5 phpize 准备预编译环境
./configure make && make install
보장 php의 실행 경로는 소스코드 패키지의 경로
[root@server11 memcache-2.2.5]# which php /usr/local/lnmp/php/bin/php cd /usr/local/lnmp/php/etc/ vim php.ini 记住是. 863 extension=memcache.so /etc/init.d/php-fpm start
Check
[root@server11 etc]# php -m |grep memcache
rpm -qa |grep php rpm 패키지가 없는지 확인 간섭
비어 있음
백그라운드 설치 구성
yum install memcached -y /etc/init.d/memcached start
수신 포트 netstat -antlpue
udp 0 0 0.0.0.0:11211 0.0.0.0:* 498 10940 3706/memcached
memcached 데이터베이스 액세스
yum install telnet -y telnet localhost 11211
set name 0 0 6 westos STORED get name VALUE name 0 6 westos END delete name DELETED get name END
쓰기 모니터링 페이지
cd memcache -2.2.5
cp memcache.php /usr/local/nginx/html/
vim memcache.php
23 define('ADMIN_PASSWORD','westos'); // Admin Password 28 $MEMCACHE_SERVERS[] = ''; // add more as an array 29 $MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an arra y
테스트 페이지 작성
vim test.php
<?php $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)\n"; $get_result = $memcache->get('key'); echo "Data from the cache:\n"; var_dump($get_result); ?>
nginx 시작
nginx
확인
브라우저에서 액세스:
1 . 172.25.88.11/memcache .php 캐시 적중률 모니터링
2.172.25.88.11/test.php
계속 새로고침하면 모니터링 페이지에서 캐시 적중률(Hits)을 확인할 수 있습니다. )이 점점 커지고 있어요
위 내용은 PHP에서 Memcache 모듈을 로딩하기 위한 샘플 코드에 대한 자세한 설명(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!