It's Feb 2012, and I just spent half a day tracing a weird and sporadic problem back to Memcached extension (vers 1.0.2), which would randomly return SYSTEM ERROR and fail to either get or put data into unix memcached. Made one single change from Memcached extension back to Memcache extension and problem instantly vanished.
A year or three ago, I had changed from Memcache to Memcached for some other reason.
Now I'm on a mission to transcend the Memcache/Memcached fiasco. I'm going to try APC's variable cache, and if that doesn't work better than just revert to using a key:value stash collection in Mongo.
Basically, the Memcache / Memcache driver fiasco, which has been going on apparently for years now, has ruined serious use of unix memcached on PHP...unless you're huge and can afford to create your own MemcacheX driver...
Memcached
- Introduction
- Installation/Configuration
- Constantes pré-définies
- Délai d'expiration
- Fonctions de rappel
- Support des sessions
- Memcached — La classe Memcached
- Memcached::add — Ajoute un nouvel élément sous une nouvelle clé
- Memcached::addByKey — Ajoute un élément sur un serveur désigné
- Memcached::addServer — Ajoute un serveur au pool
- Memcached::addServers — Ajoute plusieurs serveurs au pool
- Memcached::append — Ajoute des données à un élément
- Memcached::appendByKey — Ajoute des données à un élément
- Memcached::cas — Compare et échange un élément
- Memcached::casByKey — Compare et échange un élément sur un serveur
- Memcached::__construct — Crée un objet Memcached
- Memcached::decrement — Décrémente une valeur numérique
- Memcached::decrementByKey — Décrémente une valeur numérique d'un élément, stocké sur un serveur spécifique
- Memcached::delete — Efface un élément
- Memcached::deleteByKey — Supprime un élément d'un serveur spécifique
- Memcached::deleteMulti — Supprime plusieurs éléments
- Memcached::deleteMultiByKey — Supprime plusieurs éléments depuis un serveur spécifique
- Memcached::fetch — Lit le prochain résultat
- Memcached::fetchAll — Lit tous les autres éléments
- Memcached::flush — Invalide tous les éléments du cache
- Memcached::get — Lit un élément
- Memcached::getAllKeys — Récupère toutes les clés stockés sur tous les serveurs
- Memcached::getByKey — Lit un élément sur un serveur spécifique
- Memcached::getDelayed — Lit plusieurs éléments
- Memcached::getDelayedByKey — Lit plusieurs éléments sur un serveur
- Memcached::getMulti — Lit plusieurs éléments
- Memcached::getMultiByKey — Lit plusieurs éléments d'un serveur spécifique
- Memcached::getOption — Lit une option Memcached
- Memcached::getResultCode — Retourne le code de résultat de la dernière opération
- Memcached::getResultMessage — Retourne un message décrivant le résultat de la dernière opération
- Memcached::getServerByKey — Dirige une clé sur un serveur
- Memcached::getServerList — Liste les serveurs du pool memcached
- Memcached::getStats — Lit des statistiques du pool de serveurs
- Memcached::getVersion — Lit les informations de version du pool serveur
- Memcached::increment — Incrémente numériquement un élément
- Memcached::incrementByKey — Incrémente une valeur numérique d'un élément, stocké sur un serveur spécifique
- Memcached::isPersistent — Vérifie si une connexion persistente vers memcache est en cours d'utilisation
- Memcached::isPristine — Vérifie si l'instance a été créée récemment
- Memcached::prepend — Préfixe des données à un élément existant
- Memcached::prependByKey — Préfixe un élément existant
- Memcached::quit — Ferme toutes les connexions ouvertes
- Memcached::replace — Remplace un élément sous une clé
- Memcached::replaceByKey — Remplace un élément spécifique sur un serveur désigné
- Memcached::resetServerList — Supprime tous les serveurs depuis la liste des serveurs
- Memcached::set — Stocke un élément
- Memcached::setByKey — Stocke un élément sur un serveur spécifique
- Memcached::setMulti — Stocke plusieurs éléments
- Memcached::setMultiByKey — Stocke plusieurs éléments sur un serveur
- Memcached::setOption — Configure une option Memcached
- Memcached::setOptions — Définit des options Memcache
- Memcached::setSaslAuthData — Définit les informations à utiliser pour l'authentification
- Memcached::touch — Définit une nouvelle expiration sur un élément
- Memcached::touchByKey — Définit une nouvelle expiration sur un élément d'un serveur spécifique
mike at eastghost dot com ¶
1 year ago
joelhy ¶
1 year ago
For those confuse about the memcached extension and the memcache extension, the short story is that both of them are clients of memcached server, and the memcached extension offer more features than the memcache extension.
davidt ¶
4 months ago
The module also supports SASL authentication, it just isn't documented sadly. You'll need to run the following code:
<?php
$m = new Memcached();
$m->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
$m->setSaslAuthData("user-1", "pass");
?>
You need to enable the "memcached.use_sasl = 1" ini option for memcached in the php.ini file.
