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:08:053002parcourir

Le projet en cours de développement utilise désormais la version tp3.1 Pendant le processus de développement, nous rencontrons souvent des problèmes de mise en cache des pages (notamment la mise en cache du html, les données sont toujours l'ancienne version, et après un nouveau rafraîchissement) ; les données sont toujours l'ancienne version. Lentement, j'ai commencé à douter de ma vie, haha ​​donc pendant le processus de développement, nous devons vider le cache à temps à chaque fois.

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 de code suivantes au fichier de configuration du projet config.php. Évitez 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 cache du framework TP est stocké dans le dossier public_htmlAppRuntime, à chaque fois ; Une fois le développement terminé, supprimez manuellement tous les fichiers à l'intérieur de
(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

. Chapitre trois : J'ai écrit moi-même la classe clear cache. Nous pouvons créer notre propre classe « clear cache » dans le même répertoire que le contrôleur métier (l'idée principale est d'utiliser la classe cache fournie avec le framework TP pour fonctionner. Vous pouvez trouvez le code source du framework TP. Voir ci-dessous), videz 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.


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

http://test.xxx.cn/Clear-clearcache? opera =fields //Environnement de test
http://www.xxx.cn/Clear-clearcache?operate=fields //Environnement formel

Recommandations associées :

Résumé des méthodes pour vider le cache en PHP

Exemple de partage de code sur la façon dont Javascript obtient le cache et vider l'API du cache

php n'a pas réussi à dessiner des images, en utilisant le cache vide, ob_clean peut être résolu.

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