Wie steht es eigentlich um memcache(d)?
Kommentare

In seinem aktuellen Blogeintrag PHP and Memcached: The state of things beschäftigt sich Brian Moon mit dem de facto standard for caching dynamic websites – oder besser gesagt den Problemen, die

In seinem aktuellen Blogeintrag PHP and Memcached: The state of things beschäftigt sich Brian Moon mit dem de facto standard for caching dynamic websites – oder besser gesagt den Problemen, die den aktuellen Stand der PECL-Bibliotheken betreffen.

Zunächst geht er dabei auf die ältere der beiden Extensions – PECL/memcache – ein, deren letzter Release auf den 27. Februar 2009 datiert ist. Zwar wurde bereits nach einem neuen Maintainer gesucht, jedoch hat sich seither nichts mehr getan.

es, they have fixed bugs, but support for new features in the memcached server have not been added to this extension. Newer version of the server suppot a more efficient binary protocol and many new features. In addition, there are some parts of the extension that simply don’t work anymore.Brian Moon, 2010

Das beste Beispiel dafür sei die delete()-Funktion, dessen zweiter Parameter im Memcached-Server mittlerweile nicht mehr verwendet wird; worüber auch die Dokumentation informiert. Ein weiteres Problem stellt die Beta-Version 3.0 dar, die viele Bugs enthalte. Dank Google werde der Zusatz Beta nicht mehr angezeigt – unbedarfte User würden die Version herunterladen und bei unbefriedigenden Ergebnissen die Memcached-Welt dafür verantwortlich machen. Really, the new maintainers would do the world a favor if they just removed the 3.x releases from the PECL site.

Besser kommt auch PECL/memcached nicht weg. The ironic thing is that the GitHub repository for this extension has seen a lot of development. But, none of these bug fixes have made it into the official PECL channel. And some of these bugs are major and others are just huge WTF for a developer.

So moniert Moon die Probleme mit persistenten Verbindungen. Außerdem würden einige Funktionen keinen numerischen Key annehmen; als Beispiel dafür dient ihm die Methode getMulti(), die im GitHub-Repository zwar gefixt sei – in PECL jedoch nicht.

Die Frage, wofür man sich nun als Entwickler entscheiden sollte, kann Moon nicht so ohne weiteres beantworten: If you are deploying memcached today, I would use the 2.2.x branch of PECL/memcache. It is the most stable. Just avoid the delete bug. It is not as fast and does not have the features. But, it is very reliable for set, get, add…. the basics of memcached. For the long term, it is a bit unclear. PECL/memcached looks to fix a lot of things in 2.0. But, I have not used it yet. In addition the long term growth of the project is a bit in question.

Bleibt natürlich die spannende Frage, auf welches System unsere Leser vertrauen. memcache, memcached oder etwas komplett anderes?

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -