検索
ホームページバックエンド開発PHPチュートリアルYii Framework 公式ガイド シリーズ 28 - キャッシング: 概要



キャッシュは、Web アプリケーションのパフォーマンスを向上させる簡単かつ効果的な方法です。比較的静的なデータをキャッシュに保存し、リクエストの受信時にそれを取得することで、このデータの生成に必要な時間を節約します。

Yii でのキャッシュの使用には、主にアプリケーションコンポーネントの設定とアクセスが含まれます。 次のアプリケーション構成では、2 つの memcache キャッシュ サーバーを使用するキャッシュ コンポーネントをセットアップします。


array(
    ......
    'components'=>array(
        ......
        'cache'=>array(
            'class'=>'system.caching.CMemCache',
            'servers'=>array(
                array('host'=>'server1', 'port'=>11211, 'weight'=>60),
                array('host'=>'server2', 'port'=>11211, 'weight'=>40),
            ),
        ),
    ),
);

アプリケーションの実行中は、 Yii::app()->cache を通じてキャッシュ コンポーネントにアクセスできます。 Yii::app()->cache 访问。

Yii 提供了不同的缓存组件,可以将缓存数据存储到不同的媒介中。例如, CMemCache 组件封装了 PHP 的 memcache 扩展并使用内存作为缓存存储媒介。 CApcCache 组件封装了 PHP APC 扩展; 而 CDbCache 组件会将缓存的数据存入数据库。下面是一个可用缓存组件的列表:

  • CMemCache: 使用 PHP memcache 扩展.

  • CApcCache: 使用 PHP APC 扩展.

  • CXCache: 使用 PHP XCache 扩展。注意,这个是从 1.0.1 版本开始支持的。

  • CEAcceleratorCache: 使用 PHP EAccelerator 扩展.

  • CDbCache: 使用一个数据表存储缓存数据。默认情况下,它将创建并使用在 runtime 目录下的一个 SQLite3 数据库。 你也可以通过设置其 connectionID 属性指定一个给它使用的数据库。

  • CZendDataCache: 使用 Zend Data Cache 作为后台缓存媒介。注意,这个是从 1.0.4 版本开始支持的。

  • CFileCache: 使用文件存储缓存数据。这个特别适合用于存储大块数据(例如页面)。注意,这个是从 1.0.6 版本开始支持的。

  • CDummyCache: 目前 dummy 缓存并不实现缓存功能。此组件的目的是用于简化那些需要检查缓存可用性的代码。 例如,在开发阶段或者服务器尚未支持实际的缓存功能,我们可以使用此缓存组件。当启用了实际的缓存支持后,我们可以切换到使用相应的缓存组件。 在这两种情况中,我们可以使用同样的代码Yii::app()->cache->get($key) 获取数据片段而不需要担心 Yii::app()->cache 可能会是 null

    Yii は、キャッシュされたデータをさまざまなメディアに保存できるさまざまなキャッシュ コンポーネントを提供します。たとえば、CMemCache コンポーネントは PHP の memcache 拡張機能をカプセル化し、メモリをキャッシュ記憶媒体として使用します。 CApcCache コンポーネントは PHP APC 拡張機能をカプセル化し、CDbCache コンポーネントはキャッシュされたデータをデータベースに保存します。利用可能なキャッシュ コンポーネントのリストは次のとおりです:
    CMemCache: PHP memcache 拡張機能を使用します。

  • CApcCache: PHP APC 拡張機能を使用します。
  • CXCache: PHP XCache 拡張機能を使用します。これはバージョン 1.0.1 からサポートされることに注意してください。

  • CEAcceleratorCache: PHP EAccelerator 拡張機能を使用します。

  • CDbCache: データ テーブルを使用してキャッシュされたデータを保存します。デフォルトでは、ランタイム ディレクトリに SQLite3 データベースが作成され、使用されます。 connectionID プロパティを設定することで、使用するデータベースを指定することもできます。

  • CZendDataCache: Zend Data Cache をバックエンド キャッシュ メディアとして使用します。これはバージョン 1.0.4 以降でサポートされることに注意してください。
  • CFileCache: ファイルを使用してキャッシュ データを保存します。これは、大きなデータの塊 (ページなど) を保存する場合に特に便利です。これはバージョン 1.0.6 以降でサポートされることに注意してください。

  • CDummyCache: 現在、ダミーキャッシュにはキャッシュ機能が実装されていません。このコンポーネントの目的は、キャッシュの可用性を確認する必要があるコードを簡素化することです。 たとえば、このキャッシュ コンポーネントは、開発段階中、またはサーバーが実際のキャッシュ機能をまだサポートしていないときに使用できます。実際のキャッシュ サポートが有効になっている場合は、対応するキャッシュ コンポーネントの使用に切り替えることができます。 どちらの場合も、同じコード Yii::app()->cache->get($key) を使用して、Yii: :app を気にせずにデータ フラグメントを取得できます。 ()->cachenull である可能性があります。このコンポーネントはバージョン 1.0.5 以降でサポートされています。

    ヒント:

    これらすべてのキャッシュ コンポーネントは同じ基本クラス CCache から継承しているため、キャッシュを使用するコードを変更せずに別のキャッシュ メソッドに切り替えることができます。

    キャッシュはさまざまなレベルで使用できます。最下位レベルでは、変数などの個々のデータを保存するためにキャッシュを使用します。これを
    データ キャッシュ

    と呼びます。次のレベルでは、ビュー スクリプトの一部として生成されたページ フラグメントをキャッシュに保存します。 そして最も高いレベルでは、ページ全体をキャッシュに保存し、必要に応じて取得します。 🎜🎜次のいくつかのセクションでは、これらのレベルでキャッシュを使用する方法を詳しく説明します。 🎜🎜🎜🎜注:🎜 定義上、キャッシュは不安定な記憶媒体です。タイムアウトがない場合でも、キャッシュされたデータが存在することは保証されません。 したがって、キャッシュを永続ストレージとして使用しないでください。 (たとえば、セッション データを保存するためにキャッシュを使用しないでください)。 🎜🎜🎜キャッシュシリーズの記事: 🎜🎜Yii Framework 公式ガイド シリーズ 29 - キャッシュ: データ キャッシュ 🎜🎜Yii Framework 公式ガイド シリーズ 30 - キャッシュ: フラグメント キャッシュ 🎜🎜Yii Framework 公式ガイド シリーズ 31 - キャッシュ : ページ キャッシュ🎜🎜Yii Framework 公式ガイド シリーズ 32 - キャッシュ: 動的コンテンツ (動的コンテンツ)🎜🎜上記は Yii Framework 公式ガイド シリーズ 28 - キャッシュ: 概要の内容です。関連コンテンツの詳細については、PHP 中国語 Web サイト (www .php) をご覧ください。 .cn)! 🎜🎜🎜🎜
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。