Maison  >  Article  >  développement back-end  >  Comment utiliser Memcached pour mettre en cache les données dans le framework ThinkPHP

Comment utiliser Memcached pour mettre en cache les données dans le framework ThinkPHP

不言
不言original
2018-05-04 11:51:463483parcourir

Cet article présente principalement la méthode d'utilisation de Memcached pour mettre en cache les données dans le framework ThinkPHP, et analyse les compétences opérationnelles liées à la configuration et à l'utilisation du cache Memcached dans le framework thinkPHP. Les amis dans le besoin peuvent s'y référer

<.>Cet article décrit les exemples Comment utiliser Memcached pour mettre en cache des données dans le framework ThinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

ThinkPHP utilise des fichiers pour mettre les données en cache par défaut et prend en charge d'autres méthodes de mise en cache telles que Memcache. Il existe deux extensions PHP : Memcache et Memcached. instructions officielles, parlant principalement de Memcached.

Par rapport à PHP Memcache, php Memcached est une extension de libmemcached basée sur le C natif. Elle est plus complète et il est recommandé de la remplacer par php memcached.

Le pilote Memcached est intégré depuis la version 3.2.2 (

ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php), mais son utilisation n'est pas expliquée dans le document En visualisant le code source Configuré et testé avec succès.

Il y a un bug qui n'a pas encore été corrigé, c'est-à-dire que le délai d'expiration est de 0. En théorie, il devrait être mis en cache de manière permanente, mais sans traitement dans le pilote, il expirera immédiatement. est modifié comme suit

 public function set($name, $value, $expire = null) {
  N(&#39;cache_write&#39;,1);
  if(is_null($expire)) {
   $expire = $this->options[&#39;expire&#39;];
  }
  $name = $this->options[&#39;prefix&#39;].$name;
  if (empty($expire))
   $time = 0;
  else
   $time = time() + $expire;
  if($this->handler->set($name, $value, $time)) {
   if($this->options[&#39;length&#39;]>0) {
    // 记录缓存队列
    $this->queue($name);
   }
   return true;
  }
  return false;
 }

Ajouter

//缓存配置
 &#39;DATA_CACHE_TYPE&#39; => &#39;Memcached&#39;,
 &#39;MEMCACHED_SERVER&#39; => array(
  array(&#39;127.0.0.1&#39;, 11211, 0)
 ),

dans la configuration fichier config.php. Le pilote s'appelle :

Memcached::addServers(array)

Vous pouvez ajouter plusieurs serveurs de cache

Il existe également un élément de configuration appelé MEMCACHED_LIB, qui s'appelle :

Memcached::setOptions(array)

Pour des options spécifiques, veuillez vous référer au manuel PHP en chinois

Recommandations associées :

Formulaires dans le framework ThinkPhp Explication détaillée de la vérification et de la vérification ajax


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