Comment php utilise-t-il la mémoire comme cache ?

*文
Libérer: 2023-03-18 11:50:02
original
5432 Les gens l'ont consulté

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.rar

Décompressez le package compressé : php_memcache.rar

Les principaux fichiers inclus dans le package compressé php_memcache.rar sont :

/ memcached-1.2.1-win32/ memcached.exe

/php_memcache/php_memcache.dll

2. 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(&#39;memcached-client.php&#39;); 
 
//选项设置 
$options = array( 
 &#39;servers&#39; => array(&#39;www.jb51.net:11211&#39;),//memcached 服务的地址、端口 
 &#39;debug&#39; => true,//是否打开debug 
 &#39;compress_threshold&#39; => 10240,//超过多少字节的数据时进行压缩 
 &#39;persistant&#39; => false//是否使用持久连接 
 ); 
 
//实例化memcached对象 
$memcached = new memcached($options); 
 
$sql = &#39;SELECT * FROM table1&#39;; 
$key = md5($sql); 
 
//如果在memcached中没有缓存数据,把缓存数据写入memcached 
if(!($datas = $memcached->get($key))) 
{ 
 $conn = mysql_connect(&#39;localhost&#39;, &#39;hxsd&#39;, &#39;123456&#39;); 
 mysql_select_db(&#39;hxsd&#39;); 
 $result = mysql_query($sql); 
 while($row = mysql_fetch_object($result)) 
 { 
  $datas[] = $row; 
 } 
 //将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。 
 $memcached->add($key, $datas); 
} 
else 
{ 
 //直接使用memcached中的缓存数据$datas 
} 
?>
Copier après la connexion

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/apc

APC 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 APC
Copier après la connexion
Configuration :/. etc/php.inc, le code est le suivant :

extension=apc.so
Copier après la connexion
[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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal