Le contenu de cet article concerne l'impact de memcache (technologie de mise en cache de la mémoire) sur la vitesse d'accès aux pages PHP (images et textes). J'espère qu'il le fera. vous être utile aidé.
1. Introduction à Memcache
Technologie de mise en cache mémoire : memcache est un support intermédiaire qui implémente le langage PHP pour fonctionner sur la mémoire
Le workflow de MemCache est le suivant : vérifiez d'abord si les données de la requête du client sont dans memcached, si c'est le cas, renvoyez directement les données de la requête , plus aucune opération sur la base de données ; si les données demandées ne sont pas dans Memcached, vérifiez la base de données, renvoyez les données obtenues à partir de la base de données au client et mettez en cache une copie des données dans dans memcached (le client memcached n'est pas responsable et doit être implémenté explicitement par le programme, chaque fois que la base de données est mise à jour, les données dans memcached sont mises à jour pour assurer la cohérence lorsque l'espace mémoire alloué à memcached est épuisé, LRU ( Le moins) sera utilisé Politique récemment utilisée (la moins récemment utilisée) plus politique d'expiration, les données non valides sont remplacées en premier, puis les données récemment inutilisées sont remplacées
2. La différence entre Memcache et memcached
Memcache est le nom de ce projet, et memcached est le nom de son fichier programme principal côté serveur.
4. Installation de Memcache côté serveur et côté client (ajout de modules à php) :
1 Décompressez le package de code source de Memcache :
tar axf memcache-2.2.5.tgz
2. php précédent La commande binaire est ajoutée à la variable d'environnement pour garantir que la commande php peut être appelée directement
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 Créez un environnement précompilé et compilez et assemblez le package source memcache
phpize est utilisé. pour étendre le module d'extension php. Des modules de plug-in PHP peuvent être créés via phpize. Par exemple, si vous souhaitez ajouter des modules d'extension tels que memcached ou ImageMagick au PHP initialement compilé, vous pouvez utiliser phpize.
En d'autres termes, le rôle de phpize peut être compris ainsi : détecter l'environnement (l'outil phpize se trouve dans le répertoire d'installation de PHP. Sur cette base, phpize correspond à l'environnement PHP à ce moment-là, donc le configure correspondant doit être généré en fonction du fichier de configuration PHP), créez un fichier de configuration. Vous devez exécuter phpize dans un répertoire. Ensuite, phpize sait dans quel répertoire se trouve votre environnement et le fichier de configuration est créé dans ce répertoire.
cd memcache-2.2.5 phpize ./configure # 源码编译,已经安装好了php,我们就不用再指定新的php扩展模块路径make make install
5. Une fois la compilation terminée, nous sommes invités à entrer dans le répertoire php/extensions/no-debug-non-zts-20131226/. peut voir le php Parmi les modules qui ont été ajoutés, nous avons constaté que notre module memcache n'existe pas encore, nous sommes donc allés dans le fichier de configuration php pour ajouter le module memcache.
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. Installez le serveur Memcache
yum install memcached # 安装memcached服务端 /etc/init.d/memcached start # 打开memcached服务 netstat -antlp # memcached监听11211端口
cd memcache-2.2.5rpm -q memcached # 查看memcached的配置文件
7. Définir le mot de passe Memcache
cd /usr/local/lnmp/nginx/html/ vim example.php # 仅仅查看,是php代码 vim memcache.php
访问example.php:
访问memcache.php:
输入密码后:(右边可以看到HIT命中率)
8.访问测试,查看安装了memcache模块后,再浏览器处访问安装了memcache和未i安装memcache的网也,查看性能的变化
(1)访问 index.php后,我们可以分析一下浏览器的并发行和出错情况
处理情况:
可以看到每秒处理的访问请求为384个,出错个数为84个
(2)按照同样的测试方法,我们测试访问example.php
可以看到每秒处理的访问请求为940个,出错个数为0个,速度提高了将近三倍,错误率大大降低
(3)在浏览器处多次访问example.php,查看命中情况为百分之百。
相关文章推荐:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!