Heim  >  Artikel  >  Backend-Entwicklung  >  Offizieller Leitfaden zum Yii Framework, Serie 28 – Caching: Übersicht

Offizieller Leitfaden zum Yii Framework, Serie 28 – Caching: Übersicht

黄舟
黄舟Original
2017-02-15 09:13:541021Durchsuche



Caching ist eine einfache und effektive Möglichkeit, die Leistung von Webanwendungen zu verbessern. Indem wir relativ statische Daten im Cache speichern und bei Eingang einer Anfrage abrufen, sparen wir die Zeit, die zum Generieren dieser Daten erforderlich ist.

Die Verwendung von Caching in Yii umfasst hauptsächlich die Konfiguration und den Zugriff auf eine Anwendungskomponente. Die folgende Anwendungskonfiguration richtet eine Cache-Komponente ein, die zwei Memcache-Cache-Server verwendet.


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),
            ),
        ),
    ),
);

Wenn die App ausgeführt wird, ist die Cache-Komponente über Yii::app()->cache zugänglich.

Yii bietet verschiedene Caching-Komponenten, die zwischengespeicherte Daten auf verschiedenen Medien speichern können. Beispielsweise kapselt die CMemCache-Komponente die Memcache-Erweiterung von PHP und verwendet Speicher als Cache-Speichermedium. Die CApcCache-Komponente kapselt die PHP-APC-Erweiterung und die CDbCache-Komponente speichert zwischengespeicherte Daten in der Datenbank. Hier ist eine Liste der verfügbaren Caching-Komponenten:

  • CMemCache: Verwendet die PHP-Memcache-Erweiterung.

  • CApcCache: Verwendet die PHP-APC-Erweiterung.

  • CXCache: PHP XCache-Erweiterung verwenden. Beachten Sie, dass dies ab Version 1.0.1 unterstützt wird.

  • CEAcceleratorCache: PHP-EAccelerator-Erweiterung verwenden.

  • CDbCache: Verwenden Sie eine Datentabelle zum Speichern von Cache-Daten. Standardmäßig wird eine SQLite3-Datenbank im Laufzeitverzeichnis erstellt und verwendet. Sie können auch eine zu verwendende Datenbank angeben, indem Sie deren Eigenschaft „connectionID“ festlegen.

  • CZendDataCache: Verwenden Sie Zend Data Cache als Back-End-Caching-Medium. Beachten Sie, dass dies ab Version 1.0.4 unterstützt wird.

  • CFileCache: Verwenden Sie Dateien zum Speichern von Cache-Daten. Dies ist besonders nützlich zum Speichern großer Datenmengen (z. B. Seiten). Beachten Sie, dass dies ab Version 1.0.6 unterstützt wird.

  • CDummyCache: Derzeit implementiert der Dummy-Cache keine Caching-Funktion. Der Zweck dieser Komponente besteht darin, Code zu vereinfachen, der die Cache-Verfügbarkeit überprüfen muss. Wir können diese Caching-Komponente beispielsweise während der Entwicklungsphase verwenden oder wenn der Server noch keine tatsächliche Caching-Funktionalität unterstützt. Wenn die tatsächliche Caching-Unterstützung aktiviert ist, können wir zur Verwendung der entsprechenden Caching-Komponente wechseln. In beiden Fällen können wir denselben Code Yii::app()->cache->get($key) verwenden, um das Datenfragment abzurufen, ohne befürchten zu müssen, dass Yii::app()->cache möglicherweise null ist. Diese Komponente wird seit Version 1.0.5 unterstützt.

Tipp: Da alle diese Cache-Komponenten von derselben Basisklasse CCache erben, können Sie zu dieser wechseln, ohne den Code zu ändern, der den Cache verwendet. Verwenden Sie eine andere Caching-Methode.

Caching kann auf verschiedenen Ebenen eingesetzt werden. Auf der untersten Ebene verwenden wir Caches, um einzelne Daten, beispielsweise Variablen, zu speichern, was wir Daten-Caching nennen. Auf der nächsten Ebene speichern wir im Cache ein Seitenfragment, das als Teil des Ansichtsskripts generiert wurde. Und auf der höchsten Ebene speichern wir die gesamte Seite im Cache und rufen sie bei Bedarf ab.

In den nächsten Abschnitten erklären wir ausführlich, wie man Caching auf diesen Ebenen nutzt.

Hinweis: Per Definition ist ein Cache ein instabiles Speichermedium. Auch wenn es keine Zeitüberschreitung gibt, ist dadurch nicht sichergestellt, dass die zwischengespeicherten Daten vorhanden sein müssen. Verwenden Sie daher den Cache nicht als dauerhaften Speicher. (Verwenden Sie beispielsweise keinen Cache zum Speichern von Sitzungsdaten.)

Artikel der Caching-Serie:

Yii Framework Offizieller Leitfaden, Serie 29 – Caching: Daten-Caching

Yii Framework Offizieller Leitfaden, Serie 30 – Caching: Fragment-Caching ( Fragment-Caching )

Yii Framework Offizieller Leitfaden Serie 31 – Caching: Seiten-Caching

Yii Framework Offizieller Leitfaden Serie 32 – Caching: Dynamischer Inhalt (Dynamischer Inhalt)

Oben Dies ist der Inhalt of the Yii Framework Official Guide Series 28 – Caching: Übersicht Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn