Installation und Nutzung von php-Memcached
1. Einführung und Installation
Memcached ist ein leistungsstarkes verteiltes Speicherobjekt-Caching-System, das normalerweise zur Reduzierung des Datenbankladedrucks verwendet wird, um die Reaktionsgeschwindigkeit dynamischer Webanwendungen zu verbessern.
Diese Erweiterung nutzt die von der libmemcached-Bibliothek bereitgestellte API, um mit dem Memcached-Server zu interagieren. Es bietet auch einen Sitzungshandler (im Cache gespeichert).
Informationen zur Memcached-Installation finden Sie in diesem Artikel: Installation und Konfiguration von Memcached in Ubuntu.
Bevor Sie die PHP-Erweiterung memcached installieren, müssen Sie libmemcached installieren, die lokale C/C-Client-Bibliothek von memcached.
Bevor Sie libmemcached installieren, müssen Sie zunächst libcloog-ppl0 installieren, andernfalls tritt während des Kompilierungs- und Installationsprozesses ein Fehler auf:
sudo apt-get install libcloog-ppl0
Laden Sie es dann von hier herunter: http://libmemcached. org/libMemcached.html Entpacken Sie das erforderliche libmemcached-Quellcode-Installationspaket in das angegebene Verzeichnis, geben Sie das Verzeichnis ein und führen Sie dann die folgenden Anweisungen aus:
./configure --prefix=/usr/local/libmemcached make sudo make install
Anschließend können Sie die erforderliche PHP-Memcached-Erweiterung installieren Quellcode von hier Installationspaket: http://pecl.php.net/package/memcached, entpacken Sie es in das angegebene Verzeichnis, geben Sie das Verzeichnis ein und führen Sie dann die folgenden Anweisungen aus:
phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached make sudo make install
Ein Fehler kann während des Installationsprozesses gemeldet werden:
未知类型名称:memcached_server_instance_st
führt dazu, dass make fehlschlägt. Die Lösung lautet wie folgt:
Suchen Sie diese Datei im Dekomprimierungsverzeichnis der Memcached-Erweiterung: php_libmemcached_compat.h und dann Fügen Sie die folgende Zeile hinzu
typedef const struct memcached_server_st *memcached_server_instance_st;
Machen Sie es noch einmal und es wird in Ordnung sein.
Fügen Sie nach erfolgreicher Installation extension=memcacached in php.ini hinzu, starten Sie dann Apache neu, überprüfen Sie phpinfo und sehen Sie sich den folgenden Abschnitt an
Beweisen Sie, dass die Installation erfolgreich war.
2. Timeout
Einige Speicherbefehle enthalten einen Ablaufwert (im Zusammenhang mit einem Element oder einer Client-Vorgangsanforderung), wenn sie an den Server gesendet werden. Für alle derartigen Verwendungen kann der tatsächlich gesendete Wert ein Unix-Zeitstempel (eine ganze Zahl von Sekunden seit dem 1. Januar 1970 bis zur Ablaufzeit) oder eine Zahl in Sekunden von jetzt an sein. Im letzteren Fall darf diese Anzahl von Sekunden 60×60×24×30 (die Anzahl von Sekunden in 30 Tagen) nicht überschreiten; wenn der ungültige Wert größer als dieser Wert ist, wird er vom Server als echter Unix-Zeitstempel behandelt ein Offset von der aktuellen Zeit.
Wenn der Ablaufwert auf 0 (Standard) gesetzt ist, läuft das Element nie ab (es kann jedoch vom Server gelöscht werden, um Platz für andere neue Elemente zu reservieren).
3. Rückrufe
1. Ergebnisrückrufe
Ergebnisrückrufe sind das Ergebnis nach dem Abrufen des Elements über Memcached::getDelayed() oder Memcached::getDelayedBykey(). Methode wird einmal für jedes Element in der Menge aufgerufen. Die Rückruffunktion kann ein Memcached-Objekt und durch ein Array beschriebene Elementinformationen empfangen. Diese Rückruffunktion muss keine Informationen zurückgeben.
Beispiel #1 Ergebnis-Callback-Beispiel
<?php $m = new Memcached(); $m->addServer('localhost', 11211); $items = array( 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' ); $m->setMulti($items); $m->getDelayed(array('key1', 'key3'), true, 'result_cb'); function result_cb($memc, $item) { var_dump($item); } ?>
Die Ausgabe der obigen Routine ist ähnlich wie:
array(3) { ["key"]=> string(4) "key1" ["value"]=> string(6) "value1" ["cas"]=> float(49) } array(3) { ["key"]=> string(4) "key3" ["value"]=> string(6) "value3" ["cas"]=> float(50) }
2. Lesen Sie den Cache-Callback durch
Durchlesen Der Cache-Callback wird aufgerufen, wenn ein Element nicht vom Server abgerufen wird. Diese Rückruffunktion empfängt drei Parameter: das Memcached-Objekt, den angeforderten Schlüssel und eine als Referenz übergebene Wertvariable. Diese Rückruffunktion ist für die Entscheidung verantwortlich, einen Standardwert festzulegen, wenn der Schlüssel keinen Wert hat, indem sie „true“ oder „false“ zurückgibt. Wenn der Rückruf „true“ zurückgibt, speichert Memcached den im „ausgehenden Parameter“ (der als Referenz übergebenen Wertvariablen) gespeicherten Wert auf dem Memcached-Server und gibt ihn an die ursprüngliche aufrufende Funktion zurück. Nur Memcached::get() und Memcached::getByKey() unterstützen diese Art von Rückruf, da das Memcache-Protokoll die Bereitstellung von Informationen über nicht abgerufene Schlüssel bei der Anforderung mehrerer Schlüssel nicht unterstützt.
Beispiel #2 Rückrufbeispiel durchlesen
<?php $m = new Memcached(); $m->addServer('localhost', 11211); $profile_info = $m->get('user:'.$user_id, 'user_info_cb'); function user_info_cb($memc, $key, &$value) { $user_id = substr($key, 5); /* 从数据库读取个人信息 */ /* ... */ $value = $profile_info; return true; } ?>
4. Sitzungsunterstützung
memcached bietet einen benutzerdefinierten Sitzungsprozessor, der zum Speichern von Benutzersitzungsdaten im Memcached-Server verwendet werden kann . Intern wird eine vollständig separate Memcached-Instanz verwendet, sodass Sie bei Bedarf einen anderen Serverpool einrichten können. Sitzungsschlüssel werden unter dem Präfix memc.sess.key gespeichert. Beachten Sie dies daher bitte, wenn Sie denselben Serverpool für Sitzungen und normales Caching verwenden. Anmerkung: Ein weiterer Grund, warum die Sitzung vom normalen Cache getrennt wird, besteht darin, dass Ihre Sitzung möglicherweise aus dem Cache geworfen wird, wenn der normale Cache den zwischengespeicherten Server füllt, was dazu führt, dass der Benutzer aus unerklärlichen Gründen getrennt wird.
session.save_handler ist auf „memcached“ gesetzt, um den Sitzungsprozessor von „memcached“ zu aktivieren. session.save_path definiert einen durch Kommas getrennten Sitzungscache-Serverpool im Hostnamen:Port-Stil, zum Beispiel: „sess1:11211, sess2:11211“.
5. Die Memcached-Klasse
stellt den Memcached-Dienst dar Clusterverbindungen.
Memcached::add – Ein Element zu einem neuen Schlüssel hinzufügen
Memcached::addByKey – Ein Element zu einem neuen Schlüssel auf dem angegebenen Server hinzufügen
Memcached::addServer — Fügen Sie einen Server zum Serverpool hinzu
Memcached::addServers – Mehrere Server zum Serverpool hinzufügen
Memcached::append – Daten an vorhandene Elemente anhängen
Memcached::appendByKey – Daten zum angegebenen Server hinzufügen Daten anhängen nachdem das Element existiert
Memcached::cas – Werte vergleichen und austauschen
Memcached::casByKey — Werte auf dem angegebenen Server vergleichen und austauschen
Memcached::__construct — Erstellen Sie eine Memcached-Instanz
Memcached::decrement — Verringern Sie den Wert eines numerischen Elements
Memcached::decrementByKey — Verringern Sie den Wert eines numerischen Elements, der auf einem bestimmten Server gespeichert ist
Memcached: :delete – Ein Element löschen
Memcached::deleteByKey – Ein Element vom angegebenen Server löschen
Memcached::deleteMulti – Mehrere Elemente löschen
Memcached::deleteMultiByKey – Mehrere Elemente von einem bestimmten Server löschen
Memcached::fetch – Nächstes Ergebnis abrufen
Memcached::fetchAll – Alle verbleibenden Ergebnisse abrufen
Memcached::flush – Ungültig machen alle Elemente im Cache
Memcached::get – Element abrufen
Memcached::getAllKeys – Ruft die auf allen Servern gespeicherten Schlüssel ab
Memcached::getByKey – Elemente abrufen von einem angegebenen Server
Memcached::getDelayed – Mehrere Elemente von einem angegebenen Server anfordern
Memcached::getDelayedByKey – Mehrere Elemente von einem angegebenen Server anfordern
Memcached:: getMulti — Mehrere Elemente abrufen
Memcached::getMultiByKey — Mehrere Elemente von einem bestimmten Server abrufen
Memcached::getOption — Optionswert von Memcached abrufen
Memcached::getResultCode — Gibt den Ergebniscode der letzten Operation zurück
Memcached::getResultMessage — Gibt die Ergebnisbeschreibungsnachricht der letzten Operation zurück
Memcached::getServerByKey — Ruft die durch einen Schlüssel zugeordneten Serverinformationen ab
Memcached::getServerList – Ruft die Serverliste im Serverpool ab
Memcached::getStats – Ruft die Statistiken des Serverpools ab
Memcached::getVersion – Ruft die Versionen aller ab Server im Serverpool Information
Memcached::increment – Erhöhen Sie den Wert eines numerischen Elements
Memcached::incrementByKey – Erhöhen Sie den Wert eines numerischen Elements, der auf einem bestimmten Server gespeichert ist
Memcached::isPersistent – Prüfen, ob eine dauerhafte Verbindung zum Memcache verwendet wird
Memcached::isPristine – Prüfen, ob die Instanz kürzlich erstellt wurde
Memcached::prepend – Daten vorne anhängen eines vorhandenen Elements
Memcached::prependByKey – Daten einem vorhandenen Element auf einem bestimmten Server voranstellen
Memcached::quit – Alle offenen Verbindungen schließen
Memcached::replace – Ersetzen Sie das vorhandene Element unter dem Schlüsselelement
Memcached::replaceByKey – Ersetzen Sie das Element unter einem vorhandenen Schlüssel auf einem bestimmten Server
Memcached::resetServerList – Löscht alle Server aus der Serverliste
Memcached::set – Ein Element speichern
Memcached::setByKey – Ein Element auf einem bestimmten Server speichern
Memcached::setMulti – Mehrere Elemente speichern
Memcached ::setMultiByKey – Mehrere Elemente auf einem bestimmten Server speichern
Memcached::setOption – Eine Memcached-Option festlegen
Memcached::setOptions – Memcached-Optionen festlegen
Memcached::setSaslAuthData – Legen Sie die Anmeldeinformationen fest, die für die Authentifizierung verwendet werden sollen
Memcached::touch – Legen Sie einen neuen Ablauf für ein Element fest
Memcached::touchByKey – Legen Sie einen neuen Ablauf für ein Element auf einem bestimmten Server fest

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
