ホームページ php教程 PHP开发 ECSHOPデータベースクエリキャッシュの詳しい説明

ECSHOPデータベースクエリキャッシュの詳しい説明

Dec 14, 2016 pm 04:29 PM

クエリ キャッシュ ファイルは、ecshop/upload/temp/query_cache ディレクトリの下にあります。
クエリ キャッシュをテストするには、ecshop/upoad/ の下にテスト ファイル test1.php チュートリアルを作成します。
コードは次のとおりです:

Php コード
1. 2. //最初の 3 つの文は主に、ecshop などのクラス ライブラリ関数を使用できるようにするためのものです。 3.define('IN_ECS', true);
4.define('ECS_ADMIN', true)
6. #&*/
10

. $article_array = $db->GetALLCached("SELECTarticle_id, title FROM " . $ecs->table("article") . " WHERE cat_id != 0 AND is_open = 1 AND open_type = 0 ORDER BYarticle_id DESC LIMIT 0,4");
11.
12. print_r($article_array);
13. //出力された配列の結果は次のとおりです

14. /*

15. 配列
16. (
17. [0] => ; 配列
18. (
19. [article_id] => [1] => 配列
[2] t; 配列
30. (
31.[article_id] => 32
32. [タイトル] => モバイル ゲームのダウンロード
33. [article_id] => 31
38. [タイトル] = & gt; モバイル広告の評価
39.) */
42. ? & Gt; sqlcache ファイルを開いて

1 を見てみましょう。1273944294a:4:{i:0;a:2:{s:10: "article_id";s:2 :"35";s:5:"title";s:27:"『ヲ』の世界は私が決める";}i:1;a:2:{s:10:" Article_id";s:2:" 34";s:5:"title";s:14:"3G 知識の普及";}i:2;a:2:{s:10:"article_id";s: 2:"32";s:5 :"タイトル";s:18:"モバイル ゲーム ダウンロード";}i:3;a:2:{s:10:"article_id";s:2:"31"; s:5:"title";s :31:"Nokia 6681 携帯電話広告感謝";}}

加工されたものの羅列であることが分かりました(実際にはserialize関数で加工されています)
このsqlcacheの中のもの実際には print_r($article_array を出力したばかり) の結果です。
関数 $db->GetALLCached() は、先ほど test1.php ファイルで使用されました
これは、ecshop/upload/includes/cls_mysqltutorial.php ファイルから来ています
GetALLCached() この関数は、処理のために 2 つの実際のプロセスを呼び出しますキャッシュ(先ほどの sqlcache ファイル)の機能。
最初の関数は setSqlCacheData です

Php コード
1.
2. /*
3. GetALLCached 関数のパラメータのクエリ結果がキャッシュされていない場合、この関数が実行されます。まず、この関数の機能は、SQL によって取得された結果配列をシリアル化し、特定のパス
4 に保存することです。

5.関数 setSqlCacheData($result, $data)
6.     {
7.         if ($result['storecache'] === true && $result['filename'])
8.         {
9.             @file_put_contents($result['filename'], '' . time() .serialize($data));  
10.             クリアスタットキャッシュ();  
11.         }
12.     }
第二の関数はgetSqlCacheData
Php代码
1です。 /*******
2.
3. この関数の主な機能は、sqlcache データベース クエリ キャッシュ ファイルからシリアル化されたファイルを復元することです。
4. このように、特定の SQL ステートメントが再度実行されると、SQL ステートメントの結果がキャッシュされるため、データベースにクエリを実行する必要がなくなり、キャッシュ ファイルから直接読み取ることができます。
5. ******/
6.

関数 getSqlCacheData($sql, $cached = '')
7.     {
8.         $sql = トリム($sql);  
9.   
10.         $result = 配列();  
11.         $result['filename'] = $this->root_path 。 $this->cache_data_dir 。 'sqlcache_' 。 abs(crc32($this->dbhash . $sql)) . '_' 。 md5($this->dbhash . $sql) . '.php';  
12.   
13.         $data = @file_get_contents($result['ファイル名']);  
14.         if (isset($data{23}))
15.         {
16.             $filetime = substr($data, 13, 10);  
17.             $data = substr($data, 23);  
18.               
19.             if (($cached == 'FILEFIRST' && time() > $filetime + $this->max_cache_time) || ($cached == 'MYSQLFIRST' && $this->table_lastupdate($this->get_table_name) ($sql)) > $filetime))
20.             {
21.                 $result['storecache'] = true;  
22.             }
23.             その他
24.             {
25.                 $result['data'] = @unserialize($data);  
26.                 if ($result['data'] === false)
27.                 {
28.                     $result['storecache'] = true;  
29.                 }
30.                 その他
31.                 {
32.                     $result['storecache'] = false;  
33.                 }
34.             }
35.         }
36.         その他
37.         {
38.             $result['storecache'] = true;  
39.         }
40。   
41.         $result を返します。  
42.     }

もっと多くの相关文章请关注PHP中文网(www.php.cn)!


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

動画ファイルはブラウザのキャッシュのどこに保存されますか? 動画ファイルはブラウザのキャッシュのどこに保存されますか? Feb 19, 2024 pm 05:09 PM

ブラウザはビデオをどのフォルダにキャッシュしますか? 私たちは毎日インターネット ブラウザを使用するときに、YouTube でミュージック ビデオを視聴したり、Netflix で映画を視聴したりするなど、さまざまなオンライン ビデオを視聴することがよくあります。これらのビデオは読み込みプロセス中にブラウザによってキャッシュされるため、将来再び再生するときにすぐに読み込むことができます。そこで問題は、これらのキャッシュされたビデオが実際にどのフォルダーに保存されるのかということです。ブラウザーが異なれば、キャッシュされたビデオ フォルダーは異なる場所に保存されます。以下に、いくつかの一般的なブラウザとそのブラウザを紹介します。

Linux で DNS キャッシュを表示および更新する方法 Linux で DNS キャッシュを表示および更新する方法 Mar 07, 2024 am 08:43 AM

DNS (DomainNameSystem) は、ドメイン名を対応する IP アドレスに変換するためにインターネットで使用されるシステムです。 Linux システムでは、DNS キャッシュはドメイン名と IP アドレス間のマッピング関係をローカルに保存するメカニズムです。これにより、ドメイン名解決の速度が向上し、DNS サーバーの負担が軽減されます。 DNS キャッシュを使用すると、システムはその後同じドメイン名にアクセスするときに、毎回 DNS サーバーにクエリ要求を発行する必要がなく、IP アドレスを迅速に取得できるため、ネットワークのパフォーマンスと効率が向上します。この記事では、Linux で DNS キャッシュを表示および更新する方法、関連する詳細およびサンプル コードについて説明します。 DNS キャッシュの重要性 Linux システムでは、DNS キャッシュが重要な役割を果たします。その存在

アプリケーションを高速化: Guava キャッシュの簡単なガイド アプリケーションを高速化: Guava キャッシュの簡単なガイド Jan 31, 2024 pm 09:11 PM

Guava Cache の初心者ガイド: アプリケーションの高速化 Guava Cache は、アプリケーションのパフォーマンスを大幅に向上させることができる高性能のメモリ内キャッシュ ライブラリです。 LRU (最も最近使用されていないもの)、LFU (最も最近使用されていないもの)、TTL (生存時間) など、さまざまなキャッシュ戦略を提供します。 1. Guava キャッシュをインストールし、Guava キャッシュ ライブラリの依存関係をプロジェクトに追加します。 com.goog

HTML ファイルはキャッシュされますか? HTML ファイルはキャッシュされますか? Feb 19, 2024 pm 01:51 PM

タイトル: HTML ファイルのキャッシュ メカニズムとコード例 はじめに: Web ページを作成するときに、ブラウザーのキャッシュの問題に遭遇することがよくあります。この記事では、HTML ファイルのキャッシュ メカニズムを詳細に紹介し、読者がこのメカニズムをよりよく理解して適用できるように、いくつかの具体的なコード例を示します。 1. ブラウザのキャッシュ原理 ブラウザでは、Web ページにアクセスするたびに、まずキャッシュに Web ページのコピーがあるかどうかを確認します。存在する場合、Web ページのコンテンツはキャッシュから直接取得されます。これがブラウザー キャッシュの基本原理です。ブラウザキャッシュメカニズムの利点

CPU、メモリ、キャッシュの関係を詳しく解説! CPU、メモリ、キャッシュの関係を詳しく解説! Mar 07, 2024 am 08:30 AM

CPU (中央処理装置)、メモリ (ランダム アクセス メモリ)、およびキャッシュの間には密接な相互作用があり、これらは共にコンピュータ システムの重要なコンポーネントを形成します。それらの間の調整により、コンピュータの通常の動作と効率的なパフォーマンスが保証されます。 CPU はコンピュータの頭脳として、さまざまな命令やデータ処理の実行を担当します。メモリはデータやプログラムを一時的に保存するために使用され、高速な読み取りおよび書き込みアクセス速度を提供します。キャッシュはバッファリングの役割を果たし、データ アクセスを高速化します。速度と向上 コンピュータの CPU はコンピュータの中核コンポーネントであり、さまざまな命令、算術演算、論理演算の実行を担当します。コンピューターの「頭脳」と呼ばれ、データの処理やタスクの実行に重要な役割を果たします。メモリはコンピュータの重要な記憶装置です。

PHP APCu の高度な使用法: 隠された力を解き放つ PHP APCu の高度な使用法: 隠された力を解き放つ Mar 01, 2024 pm 09:10 PM

PHPAPCu (php キャッシュの代替) は、PHP アプリケーションを高速化するオペコード キャッシュおよびデータ キャッシュ モジュールです。その可能性を最大限に活用するには、その高度な機能を理解することが重要です。 1. バッチ操作: APCu は、多数のキーと値のペアを同時に処理できるバッチ操作メソッドを提供します。これは、大規模なキャッシュのクリアまたは更新に役立ちます。 //キャッシュキーをバッチで取得 $values=apcu_fetch(["key1","key2","key3"]); //キャッシュキーをバッチでクリア apcu_delete(["key1","key2","key3"]) ;2 .キャッシュの有効期限を設定する: APCu を使用すると、キャッシュ項目の有効期限を設定して、指定した時間が経過すると自動的に期限切れになるようにできます。

Spring Boot パフォーマンス最適化のヒント: 風のように速くアプリケーションを作成する Spring Boot パフォーマンス最適化のヒント: 風のように速くアプリケーションを作成する Feb 25, 2024 pm 01:01 PM

SpringBoot は、使いやすさと迅速な開発で知られる人気のある Java フレームワークです。ただし、アプリケーションの複雑さが増すにつれて、パフォーマンスの問題がボトルネックになる可能性があります。 SpringBoot アプリケーションを風のように速く作成できるように、この記事では、パフォーマンスを最適化するための実践的なヒントをいくつか紹介します。起動時間の最適化 アプリケーションの起動時間は、ユーザー エクスペリエンスの重要な要素の 1 つです。 SpringBoot には、キャッシュの使用、ログ出力の削減、クラスパス スキャンの最適化など、起動時間を最適化するいくつかの方法が用意されています。これを行うには、application.properties ファイルで spring.main.lazy-initialization を設定します。

動画ファイルをブラウザのキャッシュからローカルに保存する方法 動画ファイルをブラウザのキャッシュからローカルに保存する方法 Feb 23, 2024 pm 06:45 PM

ブラウザキャッシュビデオをエクスポートする方法 インターネットの急速な発展に伴い、ビデオは人々の日常生活に欠かせないものになりました。 Web を閲覧しているときに、保存または共有したいビデオ コンテンツに遭遇することがよくありますが、ビデオ ファイルがブラウザのキャッシュにのみ存在するため、ビデオ ファイルのソースが見つからないことがあります。では、ブラウザのキャッシュからビデオをエクスポートするにはどうすればよいでしょうか?この記事では、いくつかの一般的な方法を紹介します。まず、ブラウザキャッシュという概念を明確にする必要があります。ブラウザー キャッシュは、ユーザー エクスペリエンスを向上させるためにブラウザーによって使用されます。

See all articles