Wie verwende ich Memcache für verteiltes Caching in der PHP-Entwicklung?

WBOY
Freigeben: 2023-11-07 15:06:02
Original
830 Leute haben es durchsucht

Wie verwende ich Memcache für verteiltes Caching in der PHP-Entwicklung?

Da Webanwendungen immer komplexer werden, ist die Leistung zu einem kritischen Thema geworden. In vielen Anwendungen gehören Datenbankabfragen zu den zeitaufwändigsten Vorgängen. Um das häufige Lesen von Daten aus der Datenbank zu vermeiden, können Sie ein Caching-System verwenden, um häufig gelesene Daten für einen schnellen Zugriff im Speicher zu speichern. In der PHP-Entwicklung ist die Verwendung von Memcached für verteiltes Caching eine äußerst gängige Praxis. In diesem Artikel stellen wir vor, wie man Memcached für verteiltes Caching verwendet.

Was ist Memcached?

Memcached ist ein leistungsstarkes verteiltes Speicher-Caching-System, das zwischengespeicherte Daten zwischen mehreren Servern teilen kann. Genauer gesagt ist Memcached ein Schlüsselwert-Cache-System, das Daten im Speicher speichert. Es ermöglicht Entwicklern, alle Arten von Daten in ihren Anwendungen zwischenzuspeichern, einschließlich HTML-Seiten, Datenbankabfrageergebnissen und sogar vollständigen Webanwendungen.

Memcached installieren und konfigurieren

Bevor wir Memcached verwenden, müssen wir es zuerst installieren. Auf Linux-Systemen können Sie es mit dem folgenden Befehl installieren:

sudo apt-get install memcached
sudo apt-get install php-memcached
Nach dem Login kopieren

Nach Abschluss der Installation müssen Sie den Memcached-Dienst starten, der mit dem folgenden Befehl gestartet werden kann:

sudo service memcached start
Nach dem Login kopieren

Als nächstes müssen wir Memcached konfigurieren Erweiterungsmodul in PHP. Auf Ubuntu-Systemen kann es durch Bearbeiten der folgenden Datei konfiguriert werden:

sudo vi /etc/php/7.0/mods-available/memcached.ini
Nach dem Login kopieren

Fügen Sie den folgenden Inhalt in die Datei ein:

extension=memcached.so
Nach dem Login kopieren

Speichern und schließen Sie die Datei und starten Sie den Apache-Server neu:

sudo service apache2 restart
Nach dem Login kopieren

Jetzt haben Sie Memcached erfolgreich installiert und konfiguriert .

Memcached für verteiltes Caching verwenden

Als nächstes zeigen wir, wie man Memcached für verteiltes Caching verwendet. Zuerst müssen wir eine Memcached-Instanz erstellen. Sie können den folgenden Code verwenden:

$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211); // 添加一个Memcached服务器
Nach dem Login kopieren

Im obigen Code haben wir eine Memcached-Instanz erstellt und einen Memcached-Server hinzugefügt. Der erste Parameter der Funktion addServer() ist die IP-Adresse des Memcached-Servers und der zweite Parameter ist die Portnummer (Standard ist 11211).

Als nächstes schauen wir uns ein konkretes Beispiel für das Zwischenspeichern von Datenbankabfrageergebnissen in Memcached an. Wir gehen davon aus, dass wir eine Funktion fetchUserById() definiert haben, die eine Benutzer-ID als Parameter akzeptiert und die Informationen des Benutzers zurückgibt. Hier ist der Code, um dies zu erreichen:

function fetchUserById($uid) {
    // 检查缓存中是否存在该用户信息
    $mc = new Memcached();
    $mc->addServer("127.0.0.1", 11211);
    $key = "user_".$uid;
    $data = $mc->get($key);
    if (!$data) {
        // 如果缓存中不存在该用户信息,则从数据库中查询
        $pdo = new PDO("mysql:host=127.0.0.1;dbname=mydb","root","");
        $stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
        $stmt->bindParam(":id", $uid);
        $stmt->execute();
        $data = $stmt->fetch(PDO::FETCH_ASSOC);
        // 将查询结果缓存到Memcached中
        $mc->set($key, $data, 3600);
    }
    return $data;
}
Nach dem Login kopieren

Im obigen Code verwenden wir die Benutzer-ID als Schlüsselnamen des Memcached-Cache. Wenn der Schlüsselname im Cache vorhanden ist, werden die zwischengespeicherten Daten direkt zurückgegeben. Andernfalls fragen wir die Daten aus der Datenbank ab und speichern die Abfrageergebnisse in Memcached, damit die nächste Abfrage aus dem Cache gelesen werden kann.

Folgegedanken

In tatsächlichen Anwendungen hat Memcached auch viele andere Verwendungszwecke, wie z. B. Seiten-Caching, Sitzungsdaten-Caching usw. Die Verwendung von Memcached kann die Geschwindigkeit und Leistung von Webanwendungen erheblich verbessern, gleichzeitig müssen jedoch weitere Probleme berücksichtigt werden, z. B. Cache-Aktualisierungen, Cache-Ungültigmachung, Cache-Penetration usw. Daher müssen wir bei der Verwendung von Memcached für verteiltes Caching den Implementierungsprozess und die Anwendungsszenarien berücksichtigen, um die Effizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonWie verwende ich Memcache für verteiltes Caching in der PHP-Entwicklung?. 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