Heim > Artikel > PHP-Framework > So verwenden Sie Memcached für das Daten-Caching in Workerman
So verwenden Sie Memcached für das Daten-Caching in Workerman
Memcached ist ein Open-Source-Caching-System für verteilten Speicher, das häufig zur Verbesserung der Leistung und Skalierbarkeit von Webanwendungen verwendet wird. Workerman ist ein leistungsstarkes PHP-Socket-Framework, mit dem Echtzeit-Kommunikationsanwendungen erstellt werden können. In diesem Artikel wird die Verwendung von Memcached für das Daten-Caching in Workerman vorgestellt und spezifische Codebeispiele bereitgestellt.
1. Memcached installieren und konfigurieren
Bevor Sie beginnen, müssen Sie Memcached installieren und konfigurieren. Memcached kann über den folgenden Befehl auf einem Linux-System installiert werden:
sudo apt-get install memcached
Nach Abschluss der Installation müssen Sie die Konfigurationsdatei /etc/memcached.conf bearbeiten, die Überwachungs-IP und die Portnummer festlegen und die Speichergröße angeben.
-d -p 11211 -l 127.0.0.1 -m 128
Speichern Sie die Konfigurationsdatei und starten Sie den Memcached-Dienst neu.
2. Workerman installieren
Als nächstes müssen Sie das Workerman-Framework installieren. Sie können es mit Composer mit dem folgenden Befehl installieren:
composer require workerman/workerman
3. Schreiben Sie den Code zur Verwendung von Memcached
<?php require_once __DIR__.'/vendor/autoload.php'; use WorkermanWorker; use WorkermanProtocolsHttp; $worker = new Worker('http://0.0.0.0:8000'); $worker->onMessage = function ($connection, $request) { // 先尝试从缓存中获取数据 $cache = new Memcached(); $cache->addServer('127.0.0.1', 11211); $data = $cache->get($request->path()); if ($data === false) { // 缓存中不存在数据,则从数据库中获取数据 $data = get_data_from_database($request->path()); // 将数据存入缓存 $cache->set($request->path(), $data, 86400); // 缓存有效期为24小时 } // 返回数据给客户端 Http::header('Content-Type: application/json'); Http::header('Cache-Control: max-age=86400'); // 设置浏览器缓存时间为24小时 $connection->send(json_encode($data)); }; function get_data_from_database($path) { // 从数据库中获取数据的逻辑,此处省略 return [ 'path' => $path, 'data' => 'some data' ]; } Worker::runAll();
php cache.php start
4. Testcode
Sie können einen Browser oder andere Tools verwenden, um HTTP-Anfragen zu senden, um die Daten-Caching-Funktion von Memcached zu testen. Wenn Sie beispielsweise auf http://localhost:8000/foo zugreifen, werden die Daten aus der Datenbank abgerufen und im Cache gespeichert. Greifen Sie erneut auf http://localhost:8000/foo zu und die Daten werden direkt aus dem Cache abgerufen.
Durch die oben genannten Schritte haben wir Memcached erfolgreich für die Datenzwischenspeicherung in Workerman verwendet. Die Beispiele im Code dienen nur als Referenz und müssen bei der Verwendung in der Praxis entsprechend der spezifischen Geschäftslogik angepasst werden. Gleichzeitig müssen Sie auf den Schutz der Sicherheit des Memcached-Dienstes achten, um böswillige Vorgänge durch unbefugte Besucher zu verhindern.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Memcached für das Daten-Caching in Workerman. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!