シンプルな PHP キャッシュの実装 idea_PHP チュートリアル
一般的に、キャッシュの目的は、アクセスを高速化するためにデータを 1 か所に置くことです。しかし、何百 M ものデータをそこに保存できるでしょうか? もちろん、これは非現実的です。たとえば、ob_start() キャッシュ ページがオンになっている場合、ページのコンテンツは、ページ出力が自動的にクリアされるまで、ファイル ヘッダーを送信する前にメモリにキャッシュされます。 ob_get_contents の戻り値、または ob_end_clean によって表示されます。これは静的ページの生成によく使用され、テンプレートによく反映されます。PHP による静的ページの生成については、こちらの記事で詳しく説明されています。これは 1 つの方法ですが、これは一時的なものであり、問題に対する良い解決策ではありません。
さらに、ASP にはパブリックパラメータを保存できるオブジェクトアプリケーションがあり、これもキャッシュとみなされますが、PHP では、開発者がそのようなオブジェクトを作成するのをこれまで見たことがありません。 asp. Net のページ キャッシュ テクノロジはビューステートを使用し、キャッシュはファイルの関連付けです (必ずしも正確であるとは限りません)。ファイルが変更されずにタイムアウトしない場合は、キャッシュが読み取られて結果が返されます。これがこのソースコードを見てください:
リーリーこのキャッシュ クラスには 2 つの属性があります:
リーリー$cache_dir は、キャッシュされたファイルが配置される Web サイトのディレクトリに対する相対的な親ディレクトリです。 $expireTime (注 1) は、キャッシュされたデータの有効期限です。 データまたはファイルがロードされると、最初にキャッシュ ファイルが存在するかどうかが判断され、ファイルの最終変更時刻とキャッシュ時刻の合計が現在時刻より大きいかどうかが判断されます。有効期限が切れていない場合は false を返します。 false の場合は、元のデータを読み取り、キャッシュ ファイルに書き込み、データを返します。
次にプログラムを見てください:
リーリークラスが初めてインスタンス化されるとき、ファイル名をキャッシュするためのパラメーターを使用してデフォルト関数が構築されます。ファイルが存在しない場合は、編集権限を持つフォルダーを作成し、作成が失敗した場合に例外をスローします。次に、キャッシュ クラスの $cache_dir 属性をフォルダー名に設定します。すべてのキャッシュ ファイルはこのフォルダーの下にあります。
リーリーこれはクラス class のデストラクターです。デモンストレーションのために、キャッシュ クラス リソースが正常に解放されたことを示す文字列を出力します。
リーリーこのメソッドはエラー情報を出力します。
リーリーこのメソッドは、現在の URL の情報を返します。これは、主に x をキャッシュするために海外の CMS システムで行っているものです。 php?page=1,x。このようなファイルには php?page=2 など、キャッシュ クラス機能を拡張するためにここにリストされています。
リーリーcache_page メソッドは、キャッシュされたファイル名とデータをそれぞれ渡します。これは、最初に fopen を使用してファイルを開き、次にハンドルを呼び出してファイルをロックし、次に fwrite を使用してファイルを書き込みます。最後にハンドルを放すと、いずれかのステップでエラーが発生するとエラーがスローされます。 次のメモが表示されるかもしれません:
バイトストリームに書き込み、他の形式に書き込むにはシリアル化します。ちなみに、配列を使用したい場合は(MySQLデータベースからクエリの結果を選択できます)、シリアル化関数を使用して書き込みます。そして、unserialize を使用して元の型を読み取ります。
リーリーこれは、ファイル名でキャッシュを読み取る方法です。ファイルが存在しない場合、または読み取れない場合は、もちろん、非人道的な場合は、ファイルを再生成することができます。キャッシュ。
リーリーこの関数は、インターフェイス メソッドとして記述することができ、ファイルの最終更新時刻 + 有効期限が現在の時刻を超えているかどうかを判断します。ファイルが存在しない場合、または期限切れである場合は、ここでは簡単にするために、キャッシュ クラスを継承できます。データベースからデータを取得するための特定のクラス。
注 1: キャッシュ時間は、時間の状況に応じて自分で調整できます。キャッシュ時間 (つまり、キャッシュ キー) に注意してください。コントロールもキャッシュされます。これは CMS システムで広く使用されており、更新されるキーをキャッシュに保存するため、戦闘全体の制御が非常に簡単になります。
注 2: PHP5 はクラス継承のサポートを開始します。これは興味深いことです。構成されたクラスで Web サイトの残りの部分をグローバルに記述し、データ層と対話するクラス (MySQL と対話するクラスなど) を記述します。クラスはデータ対話クラスを継承しており、データベースを非常に簡単に読み取ることができます。これについては、時間があるときに詳しく説明します。
特記事項として、このクラスファイルはphp5以降用ですので、他のバージョンでは使用しないでください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
