Maison >développement back-end >tutoriel php >Comment php utilise-t-il la mémoire comme cache ?
Cet article présente principalement comment PHP utilise la mémoire comme méthode d'implémentation du cache, analyse l'utilisation du cache Memcached et compare l'utilisation des accélérateurs APC, EC et Zend. Les amis dans le besoin peuvent s'y référer.
Les détails sont les suivants :
Le cache en PHP est divisé en plusieurs types, tels que le cache mémoire, le cache de fichiers et le cache de pages. Cet article va parler de certaines méthodes de mise en cache de la mémoire en php. Nous présenterons ici le cache Memcached et la méthode de mise en cache APC fournie avec php
1.
Memcached est un serveur de cache de mémoire distribuée hautes performances. Il met en cache les résultats des requêtes de base de données et réduit le nombre d'accès à la base de données pour améliorer la vitesse des applications Web dynamiques. " La méthode d'organisation des données permet à plusieurs utilisateurs sur différents hôtes d'accéder à ce système de cache en même temps. Elle est généralement utilisée pour les grands sites Web. Memcached utilise la mémoire pour mettre en cache les données, elles sont donc volatiles. Lorsque le serveur est redémarré ou que le processus memcached est terminé, les données seront perdues, donc memcached ne peut pas être utilisé pour conserver les données
Quiconque a utilisé php_memcache pensera que le cache mémoire PHP est une chose très compliquée. système de mise en cache d'objets à mémoire distribuée rapide. Utilisé pour accélérer les applications dynamiques WEB.
Nous introduisons ici la configuration et l'utilisation de memcached sous WIN32.
1 Configuration du cache mémoire PHP, environnement WIN32
1. Téléchargez php_memcache.rarDécompressez le package compressé : php_memcache.rarLes principaux fichiers inclus dans le package compressé php_memcache.rar sont : / memcached-1.2.1-win32/ memcached.exe/php_memcache/php_memcache.dll2. Ouvrez l'invite de commande, pointez sur le chemin où se trouve memcached.exe et exécutez memcached. .exe -d démarrer. 3. Copiez le fichier php_memcache.dll dans le dossier de la bibliothèque de fichiers dynamiques de PHP. 4. Ajoutez une ligne extension=php_memcache.dll au fichier php.ini. 5. Redémarrez Apache, puis vérifiez phpinfo. S'il y a Memcache, cela signifie que l'installation est réussie ! Exemple, le code est le suivant :<?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 } ?>
Cache mémoire 2, comparaison de l'accélérateur APC, EC et Zend
1.
APC, le nom complet est Alternative PHP Cache, la traduction officielle s'appelle "Optional PHP Cache", la page d'accueil est http://pecl.php.net/package/apc, l'aide php page de manuel : http://cn .php.net/apcAPC est un optimiseur Depuis le jour de l'installation, il sert silencieusement votre application PHP en arrière-plan. Tous vos codes PHP seront mis en cache. pour l'opcode php. De plus, APC peut fournir une certaine fonction de cache mémoire. Cependant, cette fonction n'est pas parfaite. Il existe des rapports selon lesquels une utilisation fréquente de la fonction d'écriture du cache APC entraînera des erreurs imprévisibles. vous souhaitez utiliser cette fonction, vous pouvez jeter un œil à apc_fetch, apc_store et d'autres fonctions liées au cache apc Installation, le code est le suivant :# pecl install APCConfiguration :/. etc/php.inc, le code est le suivant :
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
Recommandations associées :
Exemples d'application de PHP Memcache sur la plateforme publique WeChat Showcase
Mécanisme de mise en cache PHP
Exemple de technologie de mise en cache php_Tutoriel 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!