Steigern Sie die Leistung Ihrer Website mit PhpFastCache

In diesem Artikel werden wir die PhpFastCache-Bibliothek untersuchen, mit der Sie das Caching in Ihren PHP-Anwendungen implementieren können. Auf diese Weise können Sie die allgemeine Website-Leistung und die Ladezeiten der Seite verbessern.

Was ist PhpFastCache??

PhpFastCache ist eine Bibliothek, die die Implementierung von Caching in PHP-Anwendungen zum Kinderspiel macht. Es ist eine benutzerfreundliche und dennoch leistungsstarke Bibliothek, die mehrere APIs bereitstellt, mit deren Hilfe Sie eine Caching-Strategie Ihrer Wahl ohne großen Aufwand implementieren können.

Machen Sie nicht den Fehler, davon auszugehen, dass es sich lediglich um ein herkömmliches Dateisystem-Caching-Schema handelt. Tatsächlich unterstützt PhpFastCache eine Vielzahl von Adaptern, mit denen Sie aus leistungsfähigen Backends wie Memcache, Redis, MongoDB, CouchDB und anderen auswählen können.

Werfen wir einen kurzen Blick auf einige der beliebtesten Adapter:

  • Dateisystem
  • Memcache, Redis und APC
  • CouchDB und MongoDB
  • Zend Disk Cache und Zend Memory Cache

Wenn Sie Ihre Auswahl eines Adapters nicht in der obigen Liste finden, können Sie leicht einen benutzerdefinierten Treiber entwickeln, der in das System eingesteckt wird und mühelos funktioniert.

Neben der Basisfunktionalität bietet die PhpFastCache-Bibliothek auch einen Ereignismechanismus, mit dem Sie auf bestimmte vordefinierte Ereignisse reagieren können. Wenn beispielsweise etwas aus dem Cache gelöscht wird, können Sie dieses Ereignis abfangen und auch zugehörige Daten aktualisieren oder löschen.

In den nächsten Abschnitten werden wir die Installation und Konfiguration von PhpFastCache durchgehen und einige Beispiele demonstrieren.

Installation und Konfiguration

In diesem Abschnitt werden wir die Installation und Konfiguration der PhpFastCache-Bibliothek durchgehen. Es gibt verschiedene Möglichkeiten, wie Sie dies in Ihrem Projekt angehen können.

Wenn Sie nur das herunterladen möchten .Postleitzahl oder .tar.gz Version der Bibliothek ohne viel Aufwand, können Sie es von der offiziellen Website abholen.

Sie können es aber auch als Composer-Paket installieren. Dies sollte der bevorzugte Weg sein, da dadurch die Wartung und das Upgrade in Zukunft einfacher werden. Wenn Sie Composer noch nicht installiert haben, müssen Sie dies zuerst tun.

Nachdem Sie Composer installiert haben, greifen wir mit dem folgenden Befehl zur PhpFastCache-Bibliothek.

$ composer erfordert phpfastcache / phpfastcache

Nach erfolgreichem Abschluss dieses Befehls sollte das Herstellerverzeichnis vorhanden sein, das alles enthält, was Sie zum Ausführen der PhpFastCache-Bibliothek benötigen. Wenn Sie jedoch Bibliotheken oder Erweiterungen vermissen, die für die PhpFastCache-Bibliothek erforderlich sind, werden Sie von Composer aufgefordert, sie zuerst zu installieren.

Sie sollten auch das finden composer.json Datei, die so aussieht:

"required": "phpfastcache / phpfastcache": "^ 6.1"

Unabhängig davon, wie Sie sich für die Installation der PhpFastCache-Bibliothek entschieden haben, müssen Sie lediglich die autoload.php Datei in Ihrer Anwendung, um die Dinge zu starten.

Wenn Sie den Composer-basierten Workflow verwenden, autoload.php befindet sich unter der Verkäufer Verzeichnis.

// Include Composer Autoloader erfordert 'YOUR_APP_PATH /vendor/autoload.php';

Auf der anderen Seite, wenn Sie das heruntergeladen haben .Postleitzahl oder .tar.gz Paket, autoload.php sollte verfügbar sein bei src / autoload.php.

// Autoloader einbeziehen erfordert 'YOUR_APP_PATH /src/autoload.php';

Damit können Sie mit dem Zwischenspeichern beginnen und die Vorteile der erstaunlichen PhpFastCache-Bibliothek nutzen. Im nächsten Abschnitt werden einige praktische Beispiele beschrieben, in denen die Verwendung von PhpFastCache in Ihrer Anwendung veranschaulicht wird.

Demonstration

Ich habe bereits erwähnt, dass die PhpFastCache-Bibliothek beim Caching verschiedene Adapter unterstützt. In diesem Abschnitt werde ich die Verwendung des Dateisystems und der Redis-Adapter demonstrieren.

Zwischenspeichern mit dem Files Adapter

Mach weiter und erstelle das file_cache_example.php Datei mit folgendem Inhalt. Ich gehe davon aus, dass Sie den Composer-Workflow und damit den Verkäufer Das Verzeichnis befindet sich auf derselben Ebene wie das von file_cache_example.php. Wenn Sie PhpFastCache manuell installiert haben, können Sie die Dateistruktur entsprechend ändern.

 __DIR__. "/Zwischenspeicher" ]); // Instanz der Dateien abrufen cache $ objFilesCache = CacheManager :: getInstance ('files'); $ key = "welcome_message"; // Versuchen Sie, ein zwischengespeichertes Element mit dem Schlüssel "welcome_message" abzurufen. $ CachedString = $ objFilesCache-> getItem ($ key); if (is_null ($ CachedString-> get ())) // Der zwischengespeicherte Eintrag existiert nicht. $ numberOfSeconds = 60; $ CachedString-> set ("Diese Website verwendet PhpFastCache!") -> verfällt "After" ($ numberOfSeconds); $ objFilesCache-> save ($ CachedString); echo "Noch nicht im Cache, wir setzen es in den Cache und versuchen es aus dem Cache zu holen!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get (); else // Der zwischengespeicherte Eintrag existiert echo" Bereits im Cache!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get ();

Gehen wir das durch, um zu verstehen, wofür jedes Stück Code steht. Die erste offensichtliche Sache ist, die autoload.php Datei und importieren Sie den Namespace, den Sie verwenden möchten.

// Include Composer Autoloader erfordert __DIR__. '/vendor/autoload.php'; Verwenden Sie phpFastCache \ CacheManager.

Wenn Sie den Dateicache verwenden, müssen Sie den Verzeichnispfad angeben, der die vom Zwischenspeichersystem generierten Dateien enthält. Und genau das haben wir im folgenden Snippet konfiguriert.

// Init-Standardkonfiguration für "files" -Adapter CacheManager :: setDefaultConfig (["path" => __DIR__. "/ Cache"]);

Natürlich müssen wir das sicherstellen Zwischenspeicher Verzeichnis existiert und ist vom Webserver beschreibbar.

Als Nächstes instanziieren wir das Cache-Objekt und versuchen, das zwischengespeicherte Element mit der Willkommensnachricht Schlüssel.

// Instanz der Dateien abrufen cache $ objFilesCache = CacheManager :: getInstance ('files'); $ key = "welcome_message"; // Versuchen Sie, ein zwischengespeichertes Element mit dem Schlüssel "welcome_message" abzurufen. $ CachedString = $ objFilesCache-> getItem ($ key);

Wenn das Element nicht im Cache vorhanden ist, fügen wir es 60 Sekunden lang zum Cache hinzu und zeigen es aus dem Cache an. Wenn es jedoch im Cache vorhanden ist, rufen wir es einfach ab!

if (is_null ($ CachedString-> get ())) // Der zwischengespeicherte Eintrag existiert nicht. $ numberOfSeconds = 60; $ CachedString-> set ("Diese Website verwendet PhpFastCache!") -> verfällt "After" ($ numberOfSeconds); $ objFilesCache-> save ($ CachedString); echo "Noch nicht im Cache, wir setzen es in den Cache und versuchen es aus dem Cache zu holen!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get (); else // Der zwischengespeicherte Eintrag existiert echo" Bereits im Cache!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get ();

Das war ein ziemlich einfaches Setup, oder? In der Tat können Sie die Datei ausführen, um die Ergebnisse zu überprüfen!

Wenn Sie es zum ersten Mal ausführen, sollten Sie die folgende Ausgabe sehen:

Noch nicht im Cache, wir setzen es in den Cache und versuchen es aus dem Cache zu holen! Der Wert von welcome_message: Diese Website verwendet PhpFastCache!

Im nächsten Lauf sieht die Ausgabe etwa so aus:

Bereits im Cache! Der Wert von welcome_message: Diese Website verwendet PhpFastCache!

Das war also das Dateisystem-Caching zu Ihrer Verfügung. Im nächsten Abschnitt wird das gleiche Beispiel mit dem Cache-Adapter von Redis nachgeahmt.

Zwischenspeichern mit dem Redis-Adapter

Bevor wir weitermachen, gehe ich davon aus, dass Sie den Redis-Server bereits installiert haben und auf Port 6379 ausgeführt werden, dem Standardport für Redis.

Mit diesem Setup wollen wir das erstellen redis_cache_example.php Datei mit folgendem Inhalt.

 '127.0.0.1', "port" => 6379]); // Instanz der Dateien abrufen cache $ objRedisCache = CacheManager :: getInstance ('redis'); $ key = "welcome_message"; // Versuchen Sie, ein zwischengespeichertes Element mit dem Schlüssel "welcome_message" abzurufen. $ CachedString = $ objRedisCache-> getItem ($ key); if (is_null ($ CachedString-> get ())) // Der zwischengespeicherte Eintrag existiert nicht. $ numberOfSeconds = 60; $ CachedString-> set ("Diese Website verwendet PhpFastCache!") -> verfällt "After" ($ numberOfSeconds); $ objRedisCache-> save ($ CachedString); echo "Noch nicht im Cache, wir setzen es in den Cache und versuchen es aus dem Cache zu holen!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get (); else // Der zwischengespeicherte Eintrag existiert echo" Bereits im Cache!
"; echo" Der Wert von welcome_message: ". $ CachedString-> get ();

Wie Sie sehen, ist die Datei ziemlich gleich, mit Ausnahme des Abschnitts, der die Konfiguration speziell für den Redis-Adapter initialisiert.

// Init-Standardkonfiguration für "redis" -Adapter CacheManager :: setDefaultConfig (["host" => '127.0.0.1', "port" => 6379)];

Natürlich sollten Sie die Host- und Port-Einstellungen an Ihre Anforderungen anpassen, wenn Sie einen anderen Redis-Server als localhost verwenden.

Mach weiter und lauf die redis_cache_example.php Datei, um zu sehen, wie es funktioniert. Sie können dies auch überprüfen, indem Sie die Ausgabe in der Redis-CLI überprüfen.

127.0.0.1:6379> TASTEN * 1) "welcome_message"

Das ist alles, was Sie brauchen, um den Redis-Adapter zu verwenden. Ich möchte Sie dazu ermutigen, verschiedene Adapter und deren Optionen auszuprobieren!

Fazit

Heute haben wir eine der beliebtesten Cache-Bibliotheken für PHP-PhpFastCache durchlaufen. In der ersten Hälfte des Artikels haben wir die Grundlagen sowie die Installation und Konfiguration besprochen. Im weiteren Verlauf des Artikels haben wir einige Beispiele zur Veranschaulichung der von uns besprochenen Konzepte beschrieben.

Ich hoffe, Ihnen hat der Artikel gefallen und Sie werden motiviert sein, die PhpFastCache-Bibliothek in Ihre nächsten Projekte zu integrieren. Fühlen Sie sich frei, Fragen und Kommentare zu posten!