ホームページ  >  記事  >  バックエンド開発  >  thinkphpで更新キャッシュ関数を記述する方法

thinkphpで更新キャッシュ関数を記述する方法

WBOY
WBOYオリジナル
2016-06-23 13:49:111016ブラウズ

バックグラウンドでキャッシュを更新するボタンがあり、すべてのユーザー (初めての訪問者と以前に訪問したことのあるユーザーを含む) が Web ページのコードをリロードします


ディスカッションに返信 (解決策) )

最も簡単な方法 すべてのキャッシュを削除し、訪問者がいるときに自動的に再構築するだけです

初めての訪問者と以前に訪問したことのあるユーザー?

それはデバイスのストレージですよね?
オンラインで保存する目的は何ですか?

サーバーキャッシュは header("cache-control:no-cache,must-revalidate"); を設定することで実装できます。

ランタイム ディレクトリを直接走査して削除します。

上記に同意します。実装には ajax を使用しました

public function ajaxUpdateCache() {

unlink(RUNTIME_FILE)
}
$ crashir = runtime_path; // キャッシュファイル パス;
if ($ dh = OpenDir ($ cachedir)) {// キャッシュ フォルダーを開きます
While ( ($ file = readdir($dh)) !== false) { // キャッシュ ディレクトリを走査します。
; while (($file = readdir($ DH)! == False) {// キャッシュ ディレクトリを走査し、
unlink ($ tempdir. $ file); // 走査したすべてのファイルを削除します; >ajaxReturn(array ("成功" => true)、'JSON'); Error "), 'json');
}
}



ブラウザに複数のキャッシュを持たせるために何が必要なのかわかりませんメカニズムでは、バックグラウンドでページデータを更新し、バックグラウンドでボタンをクリックしたい場合は、フロントデスクで閲覧しているユーザーがすぐに更新されるように、ajaxを使用する必要があります。ポーリングし、更新する必要があるかどうかを数秒ごとにサーバーに問い合わせます
これはランタイムと何の関係があるのでしょうか? 静的ページのキャッシュとは何の関係もありません

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