>  기사  >  백엔드 개발  >  Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향

Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향

不言
不言원래의
2018-08-06 14:56:312846검색

이 기사의 내용은 Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(사진 및 텍스트)에 미치는 영향에 대한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 당신에게.

1. 멤캐시 소개
메모리 캐싱 기술: memcache는 메모리에서 작동하기 위해 PHP 언어를 구현하는 중간 매체입니다. MemCache의 작업 흐름은 다음과 같습니다. 먼저 클라이언트의 요청 데이터가 memcached에 있는지 확인하고 있으면 요청 데이터를 직접 반환하고 더 이상 수행하지 않습니다. 요청한 데이터가 memcached에 없으면 데이터베이스를 확인하고 데이터베이스에서 얻은 데이터를 클라이언트에 반환하고 데이터 복사본을 캐시합니다. memcached(memcached 클라이언트는 책임이 없으며 프로그램에 의해 명시적으로 구현되어야 함), memcached에 할당된 메모리 공간이 모두 사용되면 일관성을 보장하기 위해 memcached의 데이터가 업데이트됩니다. 최소)를 사용하게 됩니다. 최근 사용(Least Recent Used) 전략에 만료 전략을 더해 유효하지 않은 데이터를 먼저 교체한 후 최근에 사용하지 않은 데이터를 교체합니다

2 Memcache와 memcached의 차이점Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
Memcache는 이 프로젝트의 이름인 Memcached입니다. 서버 측의 기본 프로그램 파일 이름입니다.

4. Memcache의 서버측 및 클라이언트측 설치(php에 모듈 추가):

1. memcache 소스 코드 패키지의 압축을 풉니다.

tar axf memcache-2.2.5.tgz

2. 이전 단계에서 PHP로 컴파일한 바이너리 명령을 환경에 추가합니다. php 명령

vim /root/.bash_profil
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/php/bine
source /root/.bash_profile

3 미리 컴파일된 환경을 생성하고 memcache 소스 코드 패키지를 컴파일 및 어셈블합니다. phpize를 사용하여 php 확장 모듈을 확장할 수 있습니다. 예를 들어 원래 컴파일된 PHP 확장 모듈(예: memcached 또는 ImageMagick)에 추가하려는 경우 phpize를 활성화할 수 있습니다.

즉, phpize의 역할은 다음과 같이 이해할 수 있습니다. 환경을 감지하는 것입니다(phpize 도구는 PHP 설치 디렉터리에 있습니다. 이를 기반으로 phpize는 당시의 PHP 환경에 해당하므로 해당 구성 파일은 다음과 같습니다). PHP 구성에 따라 생성됨) 구성 파일을 만듭니다. 디렉토리에서 phpize를 실행해야 합니다. 그런 다음 phpize는 귀하의 환경이 어떤 디렉토리인지 알고 해당 디렉토리에 구성 파일이 생성됩니다.



cd memcache-2.2.5   phpize
./configure              # 源码编译,已经安装好了php,我们就不用再指定新的php扩展模块路径make  
make install

5. 컴파일이 완료되면 php/extensions/no-debug-non-zts-20131226/ 디렉토리에 들어가라는 메시지가 표시됩니다. 이 디렉토리에서 PHP에 추가된 모듈을 볼 수 있습니다. 아직 memcache 모듈이 없다는 것을 알았으므로 php 구성 파일로 이동하여 memcache 모듈을 추가합니다. Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
ls
php -m | grep memcache       过滤memcache模块,发现现在还没有
cd /usr/local/lnmp/php/etc/   
vim php.ini                  # 编辑php的配置文件873 
extension=memcache.so    # 将873行memcache模块的注释打开
/etc/init.d/php-fpm reload  # 重载php
php -m | grep memcache       # 再次过滤memcache模块

6. memcache 서버 설치

yum install memcached           # 安装memcached服务端
/etc/init.d/memcached start     # 打开memcached服务
netstat -antlp   # memcached监听11211端口
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향

cd memcache-2.2.5rpm -q memcached        # 查看memcached的配置文件

7.

cd /usr/local/lnmp/nginx/html/
vim example.php  # 仅仅查看,是php代码
vim memcache.php

Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
访问example.php:
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
访问memcache.php:
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
输入密码后:(右边可以看到HIT命中率)
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
8.访问测试,查看安装了memcache模块后,再浏览器处访问安装了memcache和未i安装memcache的网也,查看性能的变化
(1)访问 index.php后,我们可以分析一下浏览器的并发行和出错情况
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
处理情况:
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
可以看到每秒处理的访问请求为384个,出错个数为84个
(2)按照同样的测试方法,我们测试访问example.php
Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향
可以看到每秒处理的访问请求为940个,出错个数为0个,速度提高了将近三倍,错误率大大降低
(3)在浏览器处多次访问example.php,查看命中情况为百分之百。

Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향

相关文章推荐:

Nginx中的Rewrite伪静态法则的讲解(详细)

Nginx配置PHP的详细步骤

위 내용은 Memcache(메모리 캐싱 기술)가 PHP 페이지 액세스 속도(그림 및 텍스트)에 미치는 영향의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.