PHP扩展模块memcached长连接使用方法分析
这篇文章主要介绍了PHP扩展模块memcached长连接使用方法分析,需要的朋友可以参考下
网上广泛流传着一篇文章,讲述php的两个扩展模块memcache和memcached的区别,,其中特意强调了memcached与memcached一个很大的区别是memcached模块不支持长连接。以至于后来很多年我都认为memcached是不支持长连接的,其实不然,memcached扩展模块从很早的版本开始就已经支持长连接了。从扩展模块的源码注视中我们就能看到:
/* {{{ Memcached::__construct([string persistent_id[, callback on_new[, string connection_str]]]))
Creates a Memcached object, optionally using persistent memcache connection */
static PHP_METHOD(Memcached, __construct)
{
从php的手册身上我们可以看到memcached的扩展模块提供的构造函数提供一个参数persistent_id可选项,手册中这样介绍:
默认情况下,Memcached实例在请求结束后会被销毁。但可以在创建时通过persistent_id为每个实例指定唯一的ID, 在请求间共享实例。所有通过相同的persistent_id值创建的实例共享同一个连接。
这个参数的含义就是说如果你传递了一个命名id给到构造方法,那么就会建立长连接,通常我们使用的都是PHP-FPM模式,这样PHP-FPM进程就会和memcached服务简历一条长连接通道。我们也可以理解为persistent_id就是一个连接池名字,所有php-fpm进程都是这个连接池中的一员。
但我们需要注意的是php是解释性语言,当php第一次通过memached模块建立起长连接后,切记后续的php执行就不要再通过memcached的构造函数构建相同persistent_id命名的长连接,可以建立不同persistent_id名字的长连接,如果是相同的名字被php重复执行,一定会导致php-fpm的进程异常导致与memcached的通信越来越慢,同时根据libmemcached的版本不同还会导致php产生coredump。
那么我们如何避免单个php-fpm在建立完以persistent_id命名的长连接后不再重复建立长连接呢?其实在PHP带有评注的手册上是有讲解的,内容如下:
When using persistent connections, it is important to not re-add servers.
This is what you do not want to do:
Every time the page is loaded those servers will be appended to the list resulting in many simultaneous open connections to the same server. The addServer/addServers functions to not check for existing references to the specified servers.
A better approach is something like:
通过使用getServerList()方法来检查当前执行使用的php-fpm进程容器中是否已经存在相同名字的长连接资源,如果存在就不要重复使用addServers() 方法来新增长连接配置。

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



Memcached ist eine häufig verwendete Caching-Technologie, die die Leistung von Webanwendungen erheblich verbessern kann. In PHP besteht die häufig verwendete Sitzungsverarbeitungsmethode darin, die Sitzungsdatei auf der Festplatte des Servers zu speichern. Diese Methode ist jedoch nicht optimal, da die Festplatte des Servers zu einem Leistungsengpass wird. Der Einsatz der Memcached-Caching-Technologie kann die Sitzungsverarbeitung in PHP optimieren und die Leistung von Webanwendungen verbessern. Sitzung in PHP

Caching-Bibliothek in PHP8.0: Memcached Mit der rasanten Entwicklung des Internets erfordern moderne Anwendungen eine effiziente und zuverlässige Caching-Technologie, um die Leistung zu verbessern und große Datenmengen zu verarbeiten. Aufgrund der Popularität und des Open-Source-Charakters von PHP ist die PHP-Caching-Bibliothek zu einem unverzichtbaren Werkzeug in der Webentwicklungs-Community geworden. Memcached ist ein weit verbreitetes Open-Source-Hochgeschwindigkeits-Speicher-Caching-System, das Millionen gleichzeitiger verbundener Cache-Anfragen verarbeiten kann und in vielen verschiedenen Arten von Anwendungen, wie z. B. sozialen Netzwerken, online verwendet werden kann

Die Optimierungsmethode von Swoole und Workerman für lange Verbindungen und dauerhafte Verbindungen zwischen PHP und MySQL erfordert spezifische Codebeispiele. Mit der Entwicklung von Webanwendungen und der Zunahme des Benutzerumfangs sind Datenbankabfragen zu einem Schwerpunkt der Anwendungsleistungsoptimierung geworden. Zu den in der PHP-Entwicklung häufig verwendeten Datenbankverbindungsmethoden gehören lange Verbindungen und kurze Verbindungen. Eine lange Verbindung bezieht sich auf die Aufrechterhaltung des Verbindungsstatus nach dem Herstellen einer Datenbankverbindung und die mehrfache Wiederverwendung derselben Verbindung, während eine kurze Verbindung bedeutet, dass die Verbindung nach Abschluss jeder Abfrage geschlossen wird. In PHP ist das traditionelle My

Mit der Entwicklung des Internets haben PHP-Anwendungen immer mehr Einzug in den Bereich der Internetanwendungen gehalten. Allerdings kann ein hoher gleichzeitiger Zugriff durch PHP-Anwendungen zu einer hohen CPU-Auslastung auf dem Server führen und somit die Leistung der Anwendung beeinträchtigen. Um die Leistung von PHP-Anwendungen zu optimieren, ist die Caching-Technologie von Memcached eine gute Wahl. In diesem Artikel wird erläutert, wie Sie die Memcached-Caching-Technologie verwenden, um die CPU-Auslastung von PHP-Anwendungen zu optimieren. Einführung in die Memcached-Caching-Technologie Memcached ist ein

Mit der rasanten Entwicklung des Internets ist die groß angelegte Sicherung und Wiederherstellung von MySQL-Datenbanken zu einer der notwendigen Fähigkeiten für große Unternehmen und Websites geworden. Mit der weit verbreiteten Anwendung von Memcached ist auch die Sicherung und Wiederherstellung von Memcached zu einem wichtigen Thema geworden. Als eine der Hauptsprachen für die Webentwicklung verfügt PHP über einzigartige Vorteile und Fähigkeiten bei der Handhabung der Sicherung und Wiederherstellung von MySQL und Memcached. In diesem Artikel wird die Implementierungsmethode der PHP-Verarbeitung von MySQL und Memcached-Sicherung und -Wiederherstellung ausführlich vorgestellt.

Mit der kontinuierlichen Zunahme von Netzwerkanwendungen und der kontinuierlichen Erweiterung des Datenvolumens ist die Effizienz beim Lesen und Schreiben von Daten zu einem wichtigen Faktor geworden, der die Anwendungsleistung beeinflusst. Der Einsatz der Caching-Technologie kann dieses Problem gut lösen. In PHP-Anwendungen ist Memcached der am häufigsten verwendete Cache-Server. Memcached ist ein leistungsstarkes verteiltes Speicherobjekt-Caching-System, das häufig verwendete Daten im Speicher speichern und die Effizienz des Datenabrufs verbessern kann. In diesem Artikel erfahren Sie, wie Sie PHP und Memcached für die Cache-Verwaltung verwenden und optimieren

Bei der rasanten Entwicklung moderner Internetanwendungen ist das Benutzererlebnis entscheidend für den Erfolg einer Anwendung. Die Gewährleistung einer hohen Leistung und Hochverfügbarkeit von Anwendungen ist zu einem der wichtigen Probleme geworden, die Entwickler lösen müssen. Als eine der am weitesten verbreiteten Programmiersprachen ist auch die Leistungsüberwachung und -optimierung von PHP sehr wichtig. Memcached ist ein leistungsstarkes, verteiltes Speicherobjekt-Caching-System, das Anwendungen dabei helfen kann, Leistung und Skalierbarkeit zu verbessern. In diesem Artikel wird erläutert, wie Sie PHP und Memcached zur Implementierung der Leistungsüberwachung verwenden.

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie sind Audio- und Videoressourcen zu einer sehr wichtigen Inhaltsform im Internet geworden, und PHP wird als eine der am weitesten verbreiteten Sprachen in der Netzwerkentwicklung auch ständig im Videobereich eingesetzt und Audiowiedergabe. Mit der steigenden Zahl der Nutzer von Audio- und Video-Websites haben jedoch viele Websites ein Problem entdeckt: Unter Bedingungen hoher Parallelität verlangsamt sich die Verarbeitungsgeschwindigkeit von PHP für Audio und Video erheblich, was zu Problemen wie einer nicht rechtzeitigen Wiedergabe oder einer hängengebliebenen Wiedergabe führt . Um dieses Problem zu lösen, sollte die Memcached-Caching-Technologie eingesetzt werden
