PHP에서 Memcache 모듈을 로딩하기 위한 샘플 코드에 대한 자세한 설명(그림)

黄舟
풀어 주다: 2023-03-07 06:34:02
원래의
1294명이 탐색했습니다.

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    准备预编译环境
로그인 후 복사

PHP에서 Memcache 모듈을 로딩하기 위한 샘플 코드에 대한 자세한 설명(그림)

./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
로그인 후 복사

PHP에서 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(&#39;127.0.0.1&#39;, 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server&#39;s version: ".$version."\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = &#39;test&#39;;
$tmp_object->int_attr = 123;
$memcache->set(&#39;key&#39;, $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(&#39;key&#39;);
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에서 Memcache 모듈을 로딩하기 위한 샘플 코드에 대한 자세한 설명(그림)

위 내용은 PHP에서 Memcache 모듈을 로딩하기 위한 샘플 코드에 대한 자세한 설명(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!