ホームページ  >  記事  >  バックエンド開発  >  2009nba 決勝データ PHP データ キャッシュ テクノロジ

2009nba 決勝データ PHP データ キャッシュ テクノロジ

WBOY
WBOYオリジナル
2016-07-29 08:36:211214ブラウズ

データ キャッシュは、Web 開発で一般的に使用されるパフォーマンス最適化方法です。現在、ファイル キャッシュとデータベース キャッシュには 2 つの主な形式があります。データベース キャッシュは不可能ではなく、確かに非常に優れており重要です。従来のデータベースは主にビジネス層やモジュール設計などから検討されているのに対し、キャッシュデータベースは主によく使われる複数テーブルのクエリをキャッシュするために実装層から設計されていると思います。ここで重要なのは、ファイルのキャッシュです。インターネット上には多くの情報があります。ここでは、いくつかの主要な情報を転載します。
キャッシュは、「時間のためのスペース」戦略の典型的なアプリケーション モードであり、システム パフォーマンスを向上させる重要な方法です。キャッシュを使用すると、アクセス量が多い場合にデータベース操作の数が大幅に削減され、システムの負荷が大幅に軽減され、システムのパフォーマンスが向上します。ページ キャッシュと比較して、結果セットはフォーマット情報を含まない一種の「生データ」であり、データ量が比較的少なく、再フォーマットできるため、非常に柔軟です。 PHP は「コンパイルと実行を同時に行う」スクリプト言語であるため、結果セットのキャッシュをある程度まで使用するための非常に便利な方法も提供します。つまり、対応するデータ定義コード セグメントを動的に含めることによってキャッシュを使用します。 「RamDisk」上にキャッシュを構築すればさらに効率が上がるはずです。以下は参考用の小さなサンプルコードです。

<span><br><span><? <BR></SPAN><SPAN>// キャッシュを使用してデータをロードする <br></SPAN><SPAN>関数 </SPAN><SPAN>load_data</SPAN><SPAN>(</SPAN><SPAN>$id</SPAN><SPAN>,</SPAN><SPAN>$cache_lifetime </SPAN> <SPAN>) { <br></SPAN><SPAN>// リターンdata <br></SPAN><SPAN>$data </SPAN><SPAN>= array(); <br></SPAN><SPAN>// キャッシュファイル名を作成します<br></SPAN><SPAN>$cache_filename </SPAN><SPAN>= </SPAN><SPAN>'cache_'</SPAN><SPAN>.</SPAN><SPAN>$id </SPAN><SPAN>。 </SPAN><SPAN>'</SPAN><SPAN>。 </SPAN><SPAN>php'</SPAN><SPAN>; <br></SPAN><SPAN>// キャッシュファイルの最終変更時刻を確認する <br></SPAN><SPAN>$cache_filetime </SPAN><SPAN>= </SPAN><SPAN>filemtime</SPAN><SPAN>(</SPAN><SPAN>$cache_filename</SPAN> <SPAN>); <br>if (</SPAN><SPAN>時間</SPAN><SPAN>() - </SPAN><SPAN>$cache_filetime </SPAN><SPAN><= </SPAN><SPAN>$cache_lifetime</SPAN><SPAN>) { <br></SPAN><SPAN>//** キャッシュは期限切れではありません <br></SPAN><SPAN>include(</SPAN><SPAN>$cache_filename</SPAN> <SPAN>);他 { <br> <br></SPAN> //** キャッシュの有効期限が切れています <SPAN>// データベースからデータをロードします <br>// ... <br><br></SPAN>while (<SPAN></SPAN>$dbo<SPAN></SPAN>-><span></span>nextRecord<span></span>()) { <span> <br></span>/ / $ data[] = ... <span><br></span>} <span><br></span>// データを php ファイルとしてフォーマットします <span><br></span>$data_cache <span></span>= <span></span>" <span>while (list($key, $val) = each( $data )) { <br>$data_cache .= "<br></span>$data<span></span>[<span></span>'$key'<span></span>]=array(<span></span>'<span></span>"; <span>$data_cache .= "<br></span>'NAME'<span></span> => <span>.= </span><span> "'VALUE'=>""</span><span>.</span><span>qoute</span><span>(</span><span>$val</span><span>[</span><span>'VALUE'</span><span>]).</span><span>""" $データキャッシュ<br> </span>.= <span> </span>";);rn"<span></span> <span>} </span><span></span>$data_cache <span></span>= <span></span>"?>rn"<span></span>// データをキャッシュ ファイルに保存します<span> </span> <span>if (</span><span> $fd </span><span>= <br></span>fopen<span></span>(<span></span>$cache_filename<span></span>,<span><br>'w<br></span>+<span></span>'<span></span>)) { fputs<span></span>( <span><br>$fd</span> <span>,<br></span>$ data_cache<span></span>); <span></span><span>fclose</span><span>(</span><span>$fd</span><span>); </span><span></span> ?><span> </span><span></span> <span><br>該当する状況: <br>1. データは主に読み取り操作において比較的安定しています。 <br>2. ファイル操作はデータベース操作よりも高速です。 <br>3. 複雑なデータアクセス、大量のデータアクセス、集中的なデータアクセス、システムデータベースの負荷が非常に高くなります。 <br>4.Web/DB分離構造またはマルチWeb単一DB構造。 <br>未確認の質問: <br>1. 同時アクセス中にファイルの読み取りと書き込みを行うと、ロックの問題が発生しますか。 <br>2. 関係するデータファイルが多すぎる場合のパフォーマンスはどうですか? <br>拡張アイデア: <br>1. JavaScript データ定義コードを生成し、クライアントで呼び出します。 <br>2. まだ考えていない... <br>一緒に話し合えればと思っています。 <br> <p> 上記では、2009nba ファイナル データの内容を含む、2009nba ファイナル データの PHP データ キャッシュ テクノロジーを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 </p> <p> </p></span></span></span>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。