Maison  >  Article  >  développement back-end  >  Explication détaillée de l'exemple de code pour charger le module Memcache en PHP (image)

Explication détaillée de l'exemple de code pour charger le module Memcache en PHP (image)

黄舟
黄舟original
2017-03-28 09:19:301326parcourir

memcache

Définition

memcache est un système de mise en cache distribué à haut débit
est actuellement utilisé par de nombreux sites Web pour améliorer la vitesse d'accès aux sites Web, en particulier pour certains

workflows à grande échelle

1. Vérifiez d'abord si les données consultées par le client sont dans Memcache, et si c'est le cas, renvoyez-les directement
2. la base de données, et en même temps mettre en cache une copie dans memcache pour améliorer considérablement la vitesse de lecture.

Applications et fonctionnalités

1. Utilisé pour le cache de page Web ou de base de données
2 Peut être utilisé pour le sessionpartage
3. Pour les modifications de données petites mais importantes (comme les fans de Weibo +1)
4. Stockées en mémoire, les données ne peuvent pas être conservées

Règles d'optimisation du cache : 28 principes

. 20% : Hot data, données fréquemment consultées. Utilisé comme cache, stocké en mémoire
80 % : données pratiquement inchangées, stockées sur un disque SSD

php charge le module memcache

détecte l'environnement php actuel

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin/:/usr/local/lnmp/php/bin

. ~/.bash_profile ou créez un lien symbolique

[root@server11 bin]# ln -s /usr/local/lnmp/php/bin /usr/local/bin/

Compile

tar zxf memcache-2.2.5.tgz cd memcache-2.2.5
phpize    准备预编译环境

Explication détaillée de lexemple de code pour charger le module Memcache en PHP (image)

./configure make && make install

Assurez-vous que le chemin d'exécution de php est le chemin du package de code source

 [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

Vérifiez

[root@server11 etc]# php -m |grep memcache

Explication détaillée de lexemple de code pour charger le module Memcache en PHP (image)

rpm -qa |grep php Garanti Aucune interférence du package rpm

Vide

Configuration de l'installation en arrière-plan

yum install memcached -y
/etc/init.d/memcached start

Port d'écoute netstat -antlpue

udp        
0      
0 0.0.0.0:11211               
0.0.0.0:*                               
498        
10940      
3706/memcached

Accéder à la base de données 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

Écrire la page de surveillance

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

Écrire une page de test

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);
?>

Démarrer nginx

nginx

Vérifier

Accès dans le navigateur :

1. 172.25.88.11/memcache.php Surveiller le taux de réussite du cache

2.

Actualisation continue, vous pouvez voir sur la page de surveillance que le taux de réussite du cache (Hits) devient de plus en plus grand

Explication détaillée de lexemple de code pour charger le module Memcache en PHP (image)

Explication détaillée de lexemple de code pour charger le module Memcache en PHP (image)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn