Maison  >  Article  >  développement back-end  >  Outil de mise en cache PHP Installation de XCache et analyse de cas d'utilisation

Outil de mise en cache PHP Installation de XCache et analyse de cas d'utilisation

php中世界最好的语言
php中世界最好的语言original
2018-05-17 10:21:311842parcourir

Cette fois, je vais vous apporter une analyse de l'installation et des cas d'utilisation de l'outil de mise en cache PHP XCache. Quelles sont les précautions pour l'installation et l'utilisation de l'outil de mise en cache PHP XCache. cas pratique, jetons un coup d'oeil.

XCache est un autre outil de mise en cache d'Opcode utilisé en PHP. Comme APC, XCache stocke les opcodes dans la mémoire partagée et utilise les opcodes mis en cache pour répondre aux demandes de scripts PHP.

Installez XCache sur le système Windows

1 Sur http://xcache.lighttpd.net/pub/ReleaseArchive selon votre version PHP. , téléchargez le progiciel correspondant.

2. Après la décompression, copiez php_xcache.dll dans le répertoire ext

3. Ajoutez

[XCache]
Zend_extension_ts=php_xcache.dall

au fichier PHP.ini dans. Liunx Installez XCache sur le système

wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz
tar -zxvf xcache-1.3.2.tar.gz
cd xcache-1.3.2
phpize
./configure --enable-xcache
make
make install doc.codesky.net

Ouvrez le fichier php.ini et ajoutez le code suivant :

[xcache-common]
; change me - 64 bit php => /usr/lib64/php/modules/xcache.so
; 32 bit php => /usr/lib/php/modules/xcache.so
zend_extension = /usr/lib64/php/modules/xcache.so
[xcache.admin]
xcache.admin.auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = ""
[xcache]
xcache.shm_scheme =    "mmap"
xcache.size =        32M
xcache.count =         1
xcache.slots =        8K
xcache.ttl  =       3600
xcache.gc_interval =     300
; Same as aboves but for variable cache
; If you don't know for sure that you need this, you probably don't
xcache.var_size =      0M
xcache.var_count =       1
xcache.var_slots =      8K
xcache.var_ttl  =       0
xcache.var_maxttl  =     0
xcache.var_gc_interval =   300
; N/A for /dev/zero
xcache.readonly_protection = Off
xcache.mmap_path =  "/dev/zero"
xcache.cacher =        On
xcache.stat  =        On

Notez la modificationzend_extension = /usr/lib64/ php/modules/xcache.so est le chemin correct.

Paramètres XCache

xcache.admin.user (String) Nom d'utilisateur d'authentification de gestion. Le paramètre par défaut est "mOo"
xcache.admin.pass (String) mot de passe d'authentification de gestion. Le paramètre par défaut est "ab0ddc3f1048212ac7669de6e203138e". Cette valeur doit être MD5 (votre mot de passe)
xcache.admin.enable_auth (String) Active ou désactive l'authentification pour le site d'administration. Valeur par défaut "on"
xcache.test (String) Activer ou désactiver la fonction de test
xcache.coredump_dir (String) Le répertoire dans lequel le core dump est placé lorsqu'un échec est rencontré. Doit être un répertoire accessible en écriture par PHP. Laisser vide avec la table désactivée
xcache.cacher (Booléen) Activer ou désactiver le cache Opcode. Activé par défaut
xcache.size (int) La taille de tous les caches partagés. Si 0, le cache ne parviendra pas à utiliser
xcache.count (int) Le nombre de "morceaux" en lesquels le cache est divisé. Valeur par défaut 1
xcache.slots Astuce de table de hachage. Plus le nombre est grand, plus la recherche est rapide dans la table de hachage. Plus cette valeur est élevée, plus la mémoire requise est importante
xcache.ttl (int) Le temps de survie des fichiers Opcode. 0=Cache indéfini
xcache.gc_interval (secondes) L'intervalle de temps entre le déclenchement du garbage collection. Par défaut 0
xcache.var_size (int) Taille de la variable
xcache.var_count (int) Nombre de variables
xcache.var_slots Paramètres de l'emplacement de données variables
xcache.var_ttl (secondes) Survie des données variables Temps, paramètre par défaut 0
xcache.var_maxttl (secondes) Temps de survie maximum lors du traitement des variables
xcache.var_gc_interval (secondes) Durée de vie du garbage collection
xcache.readonly_protection (Boolean) Disponible lorsque ReadonlyProtection est activé.
xcache.mmap_path (String) Chemin du fichier pour une protection en lecture seule. Cela empêchera deux groupes PHP de partager le même répertoire /tmp/cache
xcache.optimizer (Booléen) Activer ou désactiver l'optimisation Désactivé par défaut
xcache.coverager (Booléen) Activer la couverture Ensemble de données combiner .
xcache.coveragerdump_directory (String) L'emplacement du répertoire où sont placées les informations de collecte de données. Par défaut, le répertoire /tmp/pcovis est utilisé

instance

fait référence à la classe Xcache du framework www.initphp.com

<?php
if (!defined(&#39;IS_INITPHP&#39;)) exit(&#39;Access Denied!&#39;);
/*********************************************************************************
 * InitPHP 2.0 国产PHP开发框架 Dao-XCACHE缓存
 *-------------------------------------------------------------------------------
 * 版权所有: CopyRight By initphp.com
 * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己
 *-------------------------------------------------------------------------------
 * $Author:zhuli
 * $Dtime:2011-10-09
***********************************************************************************/
class xcacheInit {
  /**
   * Xcache缓存-设置缓存
   * 设置缓存key,value和缓存时间
   * @param string $key  KEY值
   * @param string $value 值
   * @param string $time 缓存时间
   */
  public function set_cache($key, $value, $time = 0) {
    return xcache_set($key, $value, $time);;
  }
  /**
   * Xcache缓存-获取缓存
   * 通过KEY获取缓存数据
   * @param string $key  KEY值
   */
  public function get_cache($key) {
    return xcache_get($key);
  }
  /**
   * Xcache缓存-清除一个缓存
   * 从memcache中删除一条缓存
   * @param string $key  KEY值
   */
  public function clear($key) {
    return xcache_unset($key);
  }
  /**
   * Xcache缓存-清空所有缓存
   * 不建议使用该功能
   * @return
   */
  public function clear_all() {
    $tmp[&#39;user&#39;] = isset($_SERVER[&#39;PHP_AUTH_USER&#39;]) ? null : $_SERVER[&#39;PHP_AUTH_USER&#39;];
    $tmp[&#39;pwd&#39;] = isset($_SERVER[&#39;PHP_AUTH_PW&#39;]) ? null : $_SERVER[&#39;PHP_AUTH_PW&#39;];
    $_SERVER[&#39;PHP_AUTH_USER&#39;] = $this->authUser;
    $_SERVER[&#39;PHP_AUTH_PW&#39;] = $this->authPwd;
    $max = xcache_count(XC_TYPE_VAR);
    for ($i = 0; $i < $max; $i++) {
      xcache_clear_cache(XC_TYPE_VAR, $i);
    }
    $_SERVER[&#39;PHP_AUTH_USER&#39;] = $tmp[&#39;user&#39;];
    $_SERVER[&#39;PHP_AUTH_PW&#39;] = $tmp[&#39;pwd&#39;];
    return true;
  }
  /**
   * Xcache验证是否存在
   * @param string $key  KEY值
   */
  public function exists($key) {
    return xcache_isset($key);
  }
}

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Explication détaillée des étapes de fonctionnement de la base de données PHP+mongoDB

Interrogez la chaîne php pour qu'elle contienne le spécifié données

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