使い、以下のような方針でキャッシュする方法を紹介します。DataAPIPublicCacheここからはサンプルコードを参照しながら説明をしていきます。キャッシュの戦略キャッシュをする際にまず考慮しなくてはならないのが、以下の点になります。側でデータが更新されたらキャッシュがクリアされること閲覧に認証が必要なデータをキャッシュしてしまい、未認証のユーザーに見られてしまうことがないことこの記事で紹介する方法では、それぞれ以下の方針で対応をしています。使ってマッピングして、ファイルが作成済みの場合にのみそれを返すようにします。いった操作はできないので基本的にはパラメータをそのままファイル名にしています。パラメータを直接ファイル名にすると任意の名前でファイルを作成できてしまい「/..」などで問題が発生しそうだったので、キャッシュする際にパラメータの文字列をホワイトリストで制限した上で、「/..」と「%」をエンコードする形をとっています。ファイルシステムにより文字数に制限がある場合があります。文字程度のようなので、名前が制限内に収まるように適当にディレクトリに分割する必要があります。文字などの制限がある場合があるようです。側でファイルを見つけられなくなりました。この記事ではこの問題に関しては解決策を用意できていないので、この問題にあたった場合には制限事項となっています。内容は以下のようなものになります。出力をフックし、未認証の場合にファイルに書き出すだけです。その際、リクエストパラメータとして渡すと外部からファイル名を指定できてしまう可能性があり危険なので、環境変数として渡すようにしています。環境で実行されていると渡すことのできる名前に制限があるという点です。始まるようにする必要があります。使った方法」「PHP」「CGI」「PSGI」で、いくつかのパラメータのパターンでリクエストにかかる時間を比較してみました。結果をグラフにしたものが以下の図になります。内部でのリダイレクトの回数が増えるために急激に遅くなっています。記述が増える分パラメータが短い場合の性能が悪化してしまいます。[N]この記事の方法を使う限り、パラメータが長くなるにつれて性能が大きく悪化するのは避けられなそうです。(Re::Monologue)次の記事について次の記事(4日目)を書く人がまだ決まっていないようです!どなたかよろしくお願いいたします。所属する組織や団体とは一切関係ありません。