Maison  >  Article  >  développement back-end  >  Partagez plusieurs façons de vider le cache en php

Partagez plusieurs façons de vider le cache en php

黄舟
黄舟original
2018-05-15 17:07:034733parcourir

Cet article présente principalement les informations pertinentes résumées par plusieurs méthodes de vidage du cache en PHP. J'espère qu'à travers cet article, tout le monde pourra maîtriser les méthodes de vidage du cache. Les amis dans le besoin pourront se référer à

. PHP Clear Cache Résumé de plusieurs méthodes

Le projet que nous développons utilise désormais la version tp3.1 Lors du processus de développement, nous rencontrons souvent des problèmes de mise en cache des pages (notamment la mise en cache html après) ; rafraîchissant, le problème existe toujours L'ancienne version des données sera toujours l'ancienne version des données après l'actualisation, et j'ai lentement commencé à douter de ma vie, haha ​​donc pendant le processus de développement, nous devons vider le cache à temps chaque temps.

Il existe environ 3 façons de vider le cache (toutes résumées à partir d'une expérience réelle) :

Première : ajoutez les deux lignes suivantes au fichier de configuration du projet config.php Le code peut éviter les problèmes de mise en cache

 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 
 'HTML_CACHE_ON' => false,//禁止静态缓存

Je n'expliquerai pas ces deux lignes de code ici

Deuxièmement : Le répertoire de cache du framework TP est stocké dans le dossier public_htmlAppRuntime ; , supprimez manuellement tous les fichiers à l'intérieur une fois chaque développement terminé
(cela semble un peu violent et stupide), mais cette méthode est la plus stupide. Les environnements de test et en ligne ne peuvent pas être supprimés sans autorisation

. Troisièmement : j'ai écrit ma propre classe de cache clair. Nous pouvons créer notre propre classe "Cache vide" dans le même répertoire que le contrôleur métier (l'idée principale est d'utiliser la classe de cache fournie avec le framework TP pour fonctionner, la source de le framework TP Vous pouvez jeter un oeil au code) pour vider le cache via l'accès url

Le code est le suivant :

// +----------------------------------------------------------------------
// | Copyright (c) 2007-2009 
// +----------------------------------------------------------------------
// $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $
/**
 +------------------------------------------------------------------------------
 * 清除缓存
 +------------------------------------------------------------------------------
 * @author haibo <chenhaibo0806@163.com>
 * @version $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $
 +------------------------------------------------------------------------------
 */
class ClearAction extends Action{
/**
+----------------------------------------------------------
* 清除缓存
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public function clearcache() {
 $_token = isset($_GET[&#39;token&#39;]) ? trim($_GET[&#39;token&#39;]) : &#39;&#39;;
 $_operate = isset($_GET[&#39;operate&#39;]) ? trim($_GET[&#39;operate&#39;]) : &#39;&#39;;
 
 $_option = array();
 if($_operate == &#39;runtime&#39;) $_option[&#39;temp&#39;] = RUNTIME_PATH; //各种缓存数据存放目录
 if($_operate == &#39;cache&#39;) $_option[&#39;temp&#39;] = CACHE_PATH;
 if($_operate == &#39;data&#39;) $_option[&#39;temp&#39;] = DATA_PATH;
 if($_operate == &#39;fields&#39;) $_option[&#39;temp&#39;] = DATA_PATH."/_fields";
 
 import(&#39;Think.Util.Cache.CacheFile&#39;);
 $CacheFile = new CacheFile($_option);
 $CacheFile->clear();
 echo &#39;success&#39;;
 }

La fonction clear supprime en fait le fichier cache.


Saisissez l'adresse dans la barre d'adresse du navigateur :

http://test.xxx.cn/Clear-clearcache?operate=fields  //测试环境
http://www.xxx.cn/Clear-clearcache?operate=fields  //正式环境

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