Maison >développement back-end >tutoriel php >Comment faire fonctionner le cache memcache en php

Comment faire fonctionner le cache memcache en php

巴扎黑
巴扎黑original
2017-08-05 13:46:101195parcourir

Avant-propos

Memcache, tout le monde devrait le savoir, Memcache est un système de mise en cache d'objets à mémoire distribuée efficace. Il peut prendre en charge diverses données php (tableaux, objets). , types de données de base) sont placés dans la mémoire qu'il gère. Cet article vous donnera une introduction détaillée aux méthodes de base de fonctionnement du cache Memcache en PHP. Jetons un coup d'œil à l'introduction détaillée.

1. Utilisation du code


<?php 
 
 //连接 
 $mem = new Memcache; 
 $mem->connect("127.0.0.1", 11211) or die ("Could not connect"); 
 //显示版本 
 $version = $mem->getVersion(); 
 echo "Memcached Server version: ".$version."<br>"; 
 //保存数据 
 $mem->set(&#39;key1&#39;, &#39;This is first value&#39;, 0, 60); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val ."<br>"; 
 //替换数据 
 $mem->replace(&#39;key1&#39;, &#39;This is replace value&#39;, 0, 60); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val . "<br>"; 
 //保存数组 
 $arr = array(&#39;aaa&#39;, &#39;bbb&#39;, &#39;ccc&#39;, &#39;ddd&#39;); 
 $mem->set(&#39;key2&#39;, $arr, 0, 60); 
 $val2 = $mem->get(&#39;key2&#39;); 
 echo "Get key2 value: "; 
 print_r($val2); 
 echo "<br>"; 
 
 //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失,先序列化,再发生. 
 //$arr1=serialize($arr); 
 $arr2=json_encode($arr1); 
 print_r($arr2); 
 
 //删除数据 
 $mem->delete(&#39;key1&#39;); 
 $val = $mem->get(&#39;key1&#39;); 
 echo "Get key1 value: " . $val . "<br>"; 
 //清除所有数据 
 $mem->flush(); 
 $val2 = $mem->get(&#39;key2&#39;); 
 echo "Get key2 value: "; 
 print_r($val2); 
 echo "<br>"; 
 //关闭连接 
 $mem->close(); 
 
?>

2. , Explication détaillée de la bibliothèque de fonctions :

  • Memcache::add - Ajoutez une valeur, si elle existe déjà, retournez false

  • Memcache::addServer - Ajouter une adresse de serveur à utiliser

  • Memcache::close - Fermer un objet Memcache

  • Memcache::connect - Créer un objet Memcache

  • memcache_debug - Contrôler la fonctionnalité de débogage ! [4 F8 C2 e, X

  • Memcache::decrement ! - Soustraire la valeur d'une clé enregistrée

  • Memcache::delete - Supprimer une valeur de clé

  • Memcache::flush - Effacer toutes les données mises en cache

  • Memcache::get - Obtenir une valeur clé

  • Memcache::getExtendedStats - Obtenir tous les processus du pool de processus Exécution des statistiques du système

  • Memcache::getServerStatus - Récupère les paramètres du serveur en cours d'exécution

  • Memcache::getStats - Renvoie certaines statistiques d'exécution du serveur

  • Memcache::getVersion - Renvoie les informations de version du Memcache en cours d'exécution

  • Memcache::increment - La valeur dans une clé enregistrée Effectuer une opération d'ajout

  • Memcache::pconnect - Créer un objet de connexion persistante Memcache

  • Memcache::replace - Remplacer une clé existante Effectuer une opération d'écrasement

  • Memcache::set - Ajoutez une valeur, si elle existe déjà, écrasez

  • Memcache::setCompressThreshold - Pour compresser des données supérieures à une certaine taille

  • Memcache::setServerParams - Modifier les paramètres du serveur au moment de l'exécution

3. Utilisation distribuée :

La bibliothèque de fonctions Memcache est en PECL (PHP Extension Community Library). Sa fonction principale est de créer une zone de stockage temporaire pour les données mémoire de grande capacité. L'effet est très évident lorsqu'il est distribué

.

<?php 
 
 //1.实例化一个Memcache对象 
 $mem=new Memcache(); 
 
 //2. 连接到指定的memcache中 
 // $mem->connect("127.0.0.1",11211); 
 
 //如果我们网站,需要多个memached缓存系统,如下使用分布式 
 $mem->addServer("192.168.1.100",11211); 
 $mem->addServer("192.168.1.200",11211); 
 $mem->addServer("192.168.1.222",11211); 
 
 //创建多个memcache服务使用addServer 会根据负载均衡算法,自动放入每个服务器 
 $mem->add("name","zs",0,100); 
 
?>

Résumé

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