Heim > Backend-Entwicklung > PHP-Tutorial > Wie nutzt PHP Caching?

Wie nutzt PHP Caching?

WBOY
Freigeben: 2023-06-01 14:52:01
Original
2358 Leute haben es durchsucht

PHP muss als beliebte serverseitige Programmiersprache oft große Mengen an Daten und Anfragen verarbeiten, daher ist eine effiziente Cache-Verwaltung für die Verbesserung der Website-Leistung von entscheidender Bedeutung. In diesem Artikel wird vorgestellt, wie PHP Caching verwendet, einschließlich der Grundprinzipien des Cachings, der PHP-eigenen Caching-Methoden und anderer beliebter Caching-Bibliotheken.

1. Grundprinzipien des Cachings

In der Webentwicklung bezieht sich Caching auf das Speichern häufig gelesener Daten in einem Schnellzugriffsmedium, um die Zeit zum Lesen von Daten aus der Datenbank oder anderen Ressourcen für jede Anfrage zu verkürzen. Wenn Sie den Cache verwenden, müssen Sie zunächst feststellen, ob die Daten bereits im Cache vorhanden sind. Andernfalls lesen Sie sie aus der Datenbank oder anderen Ressourcen und fügen Sie die gelesenen Daten dem Cache hinzu.

Der Vorteil des Caching besteht darin, dass es den Overhead der Systemressourcen erheblich reduzieren und die Leistung und Reaktionsgeschwindigkeit der Website verbessern kann. Allerdings hat das Caching auch einige Nachteile. Beispielsweise kann es bei sich dynamisch ändernden Daten dazu führen, dass die Daten nicht rechtzeitig aktualisiert werden, was zu Fehlern führt.

2. PHPs eigene Caching-Methode

Php bietet eine Vielzahl von Caching-Methoden, von denen die am häufigsten verwendeten Speichercache (Memory Cache) und Dateicache (File Cache) sind.

1. Speicher-Cache

Php bietet drei Speicher-Cache-Methoden, nämlich Memcached, APC und XCache. Diese Caching-Bibliotheken sind beim Umgang mit großen Datenmengen sehr effektiv und können die Ausführung von PHP-Programmen beschleunigen.

(1) Memcached

Memcached ist ein häufig verwendetes verteiltes Speicherobjekt-Caching-System. Es basiert auf der Netzwerkbibliothek libevent und kann Daten zwischen mehreren Servern teilen. PHP kann Memcached einfach aufrufen, indem es die Klassenbibliothek Memcache erweitert.

Beispielcode:

$mem = new Memcache;
$mem->connect("localhost", 11211);
$result = $mem->get("product_123");

if(!$result) {
  $result = '...'; // 从数据库或其他资源中读取数据
  $mem->set("product_123", $result, 3600);
}

echo $result;
Nach dem Login kopieren

(2) APC

APC ist ein Speicherobjekt-Caching-System namens „Alternative PHP Cache“, das PHP dabei helfen kann, schnelles Lesen und Verarbeiten von Daten zu erreichen und die Serverlast zu reduzieren. PHP kann APC einfach aufrufen, indem es die Klassenbibliothek APC erweitert.

Beispielcode:

$value = apc_fetch('variable_key');
if($value === false) {
    $value = '...'; // 从数据库或其他资源中读取数据
    apc_store('variable_key', $value, $ttl);
}
echo $value;
Nach dem Login kopieren

(3) PHP kann einfach durch Erweiterung der Klassenbibliothek XCache aufgerufen werden.

Beispielcode:

$value = xcache_get('variable_key');
if(!$value) {
    $value = '...'; // 从数据库或其他资源中读取数据
    xcache_set('variable_key', $value, $ttl);
}
echo $value;
Nach dem Login kopieren

2. Datei-Caching

Zusätzlich zum Speicher-Caching bietet PHP auch Datei-Caching, mit dem Daten auf der lokalen Festplatte gespeichert werden können. Der Vorteil des Dateicachings besteht darin, dass Daten lange gespeichert werden können und nicht durch Serverneustarts ungültig werden. Unter Bedingungen hoher Parallelität kann das Zwischenspeichern von Dateien jedoch zu einem Engpass werden.

Beispielcode:

$cache_file = 'cache/product_123.cache';
if(file_exists($cache_file) && (time() - filemtime($cache_file) < 3600)) {
    $result = file_get_contents($cache_file);
} else {
    $result = '...'; // 从数据库或其他资源中读取数据
    file_put_contents($cache_file, $result);
}
echo $result;
Nach dem Login kopieren

3. Andere beliebte Caching-Bibliotheken

Zusätzlich zur Caching-Methode, die mit PHP geliefert wird, können auch viele Caching-Bibliotheken von Drittanbietern verwendet werden, wie Redis, MongoDB und Couchbase. Diese Caching-Bibliotheken stellen normalerweise Client-Bibliotheken bereit, die problemlos in PHP integriert werden können.

1.Redis

Redis ist ein Hochgeschwindigkeitsspeichersystem und ein Hochgeschwindigkeits-Cachesystem, das eine Vielzahl von Datenstrukturen unterstützt, einschließlich Zeichenfolgen, Listen, Mengen, geordnete Mengen, Hashes usw.

Beispielcode:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->get('product_123');
if(!$result) {
  $result = '...'; // 从数据库或其他资源中读取数据
  $redis->setex('product_123', 3600, $result);
}
echo $result;
Nach dem Login kopieren

2.MongoDB

MongoDB ist eine Dokumentendatenbank, die mehrere Speicherformate unterstützt, einschließlich JSON und BSON. PHP kann MongoDB problemlos über die offizielle Erweiterungsklassenbibliothek von MongoDB aufrufen.

Beispielcode:

$m = new MongoClient();
$db = $m->test;
$collection = $db->products;
$result = $collection->findOne(array('id' => '123'));
if(!$result) {
  $result = '...'; // 从数据库或其他资源中读取数据
  $collection->insert(array('id' => '123', 'data' => $result));
} else {
  $result = $result['data'];
}
echo $result;
Nach dem Login kopieren

3.Couchbase

Couchbase ist ein speicherbasiertes verteiltes Schlüsselwertspeichersystem, das automatisches Sharding und Lastausgleich unterstützt und über hohe Leistung und hohe Verfügbarkeit verfügt.

Beispielcode:

$cluster = new CouchbaseCluster('http://localhost:8091');
$bucket = $cluster->openBucket('default');
$result = $bucket->get('product_123')->value;
if(!$result) {
  $result = '...'; // 从数据库或其他资源中读取数据
  $bucket->upsert('product_123', $result);
}
echo $result;
Nach dem Login kopieren

IV. Caching ist ein sehr wichtiges Mittel zur Leistungsoptimierung. PHP bietet eine Vielzahl von Caching-Methoden, einschließlich Speicher-Caching und Datei-Caching Redis, MongoDB und Couchbase usw. Bei der Auswahl einer Cache-Methode müssen Sie basierend auf Ihren eigenen Geschäftsanforderungen und der Systemarchitektur die am besten geeignete Lösung auswählen und Parameter wie Cache-Zeit, Cache-Größe und Cache-Algorithmus entsprechend der tatsächlichen Situation anpassen, um den besten Leistungsoptimierungseffekt zu erzielen .

Das obige ist der detaillierte Inhalt vonWie nutzt PHP Caching?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage