이 글에서는 주로 PHP가 캐시 구현 방법으로 메모리를 사용하는 방법을 소개하고 Memcached 캐시의 사용량을 분석하며 APC, EC 및 Zend 가속기의 사용량을 비교합니다.
자세한 내용은 다음과 같습니다.
PHP의 캐시는 메모리 캐시, 파일 캐시, 페이지 캐시 등 여러 유형으로 구분됩니다. 이번 글에서는 PHP에서 메모리 캐싱을 하는 몇 가지 방법에 대해 이야기해보겠습니다. 여기서는 Memcached 캐시와 PHP에 포함된 APC 캐싱 방법을 소개하겠습니다.
1.Memcached 캐싱.
memcached는 데이터베이스 쿼리 결과를 캐시하고 데이터베이스 액세스 횟수를 줄여 동적 웹 애플리케이션의 속도를 향상시키는 고성능 분산 메모리 캐시 서버입니다. 이는 호스트의 여러 사용자가 동시에 이 캐시 시스템에 액세스할 수 있도록 하며 일반적으로 대규모 웹사이트에 사용됩니다. Memcached는 데이터를 캐시하기 위해 메모리를 사용하므로 서버가 다시 시작되거나 memcached 프로세스가 종료되면 휘발성이 있습니다. 데이터가 손실되므로 memcached를 사용할 수 없습니다.
php_memcache를 사용해 본 사람이라면 누구나 PHP 메모리 캐싱이 매우 복잡하다고 생각할 것입니다. 실제로 memcached는 주로 효율적이고 빠른 분산 메모리 개체 캐싱 시스템입니다.
여기서는 WIN32에서 memcached의 구성 및 사용을 소개합니다.
1. PHP 메모리 캐시 구성, WIN32 환경
1 압축된 패키지를 다운로드합니다: php_memcache. rar
php_memcache.rar 압축 패키지 포함된 파일은 다음과 같습니다:
/memcached-1.2.1-win32/memcached.exe
/php_memcache/php_memcache.dll
2 명령 프롬프트를 열고 memcached가 있는 경로를 가리킵니다. .exe를 찾아서 memcached.exe -d start를 실행합니다.
3. php_memcache.dll 파일을 PHP의 동적 파일 라이브러리 폴더에 복사하세요.
4. php.ini 파일에 Extension=php_memcache.dll 줄을 추가합니다.
5. Apache를 다시 시작한 후 phpinfo를 확인하세요. memcache가 있으면 설치가 성공한 것입니다!
예시 코드는 다음과 같습니다.
<?php //包含 memcached 类文件 require_once('memcached-client.php'); //选项设置 $options = array( 'servers' => array('www.jb51.net:11211'),//memcached 服务的地址、端口 'debug' => true,//是否打开debug 'compress_threshold' => 10240,//超过多少字节的数据时进行压缩 'persistant' => false//是否使用持久连接 ); //实例化memcached对象 $memcached = new memcached($options); $sql = 'SELECT * FROM table1'; $key = md5($sql); //如果在memcached中没有缓存数据,把缓存数据写入memcached if(!($datas = $memcached->get($key))) { $conn = mysql_connect('localhost', 'hxsd', '123456'); mysql_select_db('hxsd'); $result = mysql_query($sql); while($row = mysql_fetch_object($result)) { $datas[] = $row; } //将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。 $memcached->add($key, $datas); } else { //直接使用memcached中的缓存数据$datas } ?>메모리 캐시 2개, APC, EC, Zend accelerator의 비교
APC, 정식 명칭은 Alternative PHP Cache, 공식 번역은 이라고 합니다. "Optional PHP Cache", 홈페이지는 http://pecl.php.net/package/apc, PHP 도움말 매뉴얼 페이지는 http://cn.php.net/apc
APC가 최적화 프로그램입니다. 설치 당일부터 백그라운드에서 자동으로 수행됩니다. 모든 PHP 코드는 php opcode를 대상으로 캐시됩니다.
또한 APC는 특정 메모리 캐싱 기능을 제공할 수 있습니다. APC를 자주 사용하면 캐시의 쓰기 기능이 예상치 못한 오류를 발생시킨다는 보고가 있습니다. 이 기능을 사용하려면 apc_fetch, apc_store 및 apc 캐시와 관련된 기타 기능을 살펴보세요. , 코드는 다음과 같습니다:
# pecl install APC
구성: /etc/ php.inc, 코드는 다음과 같습니다:
extension=apc.so
[apc]
apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 30 apc.optimization = 0 apc.ttl = 7200 apc.user_ttl = 7200 apc.num_files_hint = 1000 apc.mmap_file_mask = /tmp/apc.XXXXXX관련 권장 사항:
WeChat 공개의 PHP memcache 응용 프로그램 예 플랫폼
위 내용은 PHP는 어떻게 메모리를 캐시로 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!