ホームページ  >  記事  >  バックエンド開発  >  PHP でキャッシュをクリアするいくつかの方法のまとめ

PHP でキャッシュをクリアするいくつかの方法のまとめ

不言
不言オリジナル
2018-06-07 11:26:154458ブラウズ

この記事は、PHP でキャッシュをクリアするいくつかの方法についてまとめた関連情報を主に紹介します。この記事を通じて、必要な友人がキャッシュをクリアする方法をマスターできることを願っています。 PHP のキャッシュのクリアについて

現在開発中のプロジェクトは tp3.1 バージョンを使用していますが、開発プロセス中に、ページのキャッシュ (特に HTML のキャッシュ) で問題が発生し、更新後もデータが古いままになります。更新してもデータは古いバージョンのままで、徐々に自分の人生を疑い始めました (笑)。そのため、開発プロセス中は毎回キャッシュをクリアする必要があります。

キャッシュをクリアする方法は 3 つほどあります (すべて実際の経験からまとめたものです):

最初: キャッシュの問題を回避するために、プロジェクトの構成ファイル config.php に次の 2 行のコードを追加します


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

ここでは、これら 2 行のコードについては説明しません。

2 番目: TP フレームワークのキャッシュ ディレクトリは、各開発が完了した後、フォルダー public_htmlAppRuntime に保存されます。

3 番目: 独自のクリア キャッシュ クラスを同じディレクトリに作成できます。ビジネス コントローラー。「キャッシュ」クラス (基本的な考え方は、TP フレームワークに付属するキャッシュ クラスを使用して動作することです。TP フレームワークのソース コードを参照してください)、URL アクセスを通じてキャッシュをクリアします。コードは次のとおりです:

// +----------------------------------------------------------------------
// | 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;;
 }


clear関数は実際にキャッシュファイルを削除します。

ブラウザのアドレスバーにアドレスを入力します:

http://test.xxx.cn/Clear-clearcache?operate=fields //テスト環境
http://www.xxx.cn/ Clear -clearcache?operate=fields //正式な環境


ご質問がある場合は、メッセージを残すか、このサイトのコミュニティにアクセスして議論してください。読んでいただきありがとうございます。

関連する推奨事項:

ThinkPHP はワンクリックでキャッシュをクリアする方法を実装しています


以上がPHP でキャッシュをクリアするいくつかの方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。