Memcached client bibliothèque vient tout juste de sortir comme stable. Il est utilisé par digg ( a été développé pour digg par Andrei Zmievski, maintenant n'est plus avec digg) et met en œuvre beaucoup plus du protocole memcached que l'ancien client de memcache. Les caractéristiques les plus importantes que memcached a sont:
-
Tas de jetons. Ce qui rend ma vie beaucoup plus facile et est un simple système préventif pour des données périmées. Chaque fois que vous tirez quelque chose à partir du cache, vous pouvez recevoir un tas de jeton (double nombre). Vous pouvez que d'utiliser ce jeton pour enregistrer votre mise à jour de l'objet. Si aucune autre mise à jour de la valeur tandis que votre fil est en cours d'exécution, le swap va réussir. Sinon, un nouveau cas de jeton a été créé et vous êtes obligé de recharger les données et l'enregistrer de nouveau avec le nouveau jeton.
- Lire à travers les rappels sont la meilleure chose depuis le pain tranché. Il a simplifié beaucoup de mon code.
-
getDelayed() est une fonctionnalité intéressante qui permet de réduire le temps de votre script doit attendre les résultats de revenir à partir du serveur.
- Alors que le serveur memcache est censé être très stable, il n'est pas le plus rapide. Vous pouvez utiliser le protocole binaire au lieu de l'ASCII avec le nouveau client.
- Chaque fois que vous enregistrez des données complexes dans memcached le client à toujours faire de la sérialisation de la valeur (qui est lent), mais maintenant, avec memcached client, vous avez la possibilité d'utiliser igbinary. Jusqu'à présent, je n'ai pas eu la chance de tester la façon dont beaucoup d'un gain de performance.
Tous ces points ont été assez pour moi de basculer vers le nouveau client, et peux vous dire que ça fonctionne comme un charme. Il n'y a que la dépendance extérieure sur la libmemcached de la bibliothèque, mais ont réussi à l'installer néanmoins sur Ubuntu et Mac OSX, donc pas de problèmes jusqu'à présent.
Si vous décidez de mettre à jour la plus récente de la bibliothèque, je vous suggère de mettre à jour vers la dernière version du serveur en tant que bien, car il a quelques fonctionnalités intéressantes. Vous aurez besoin d'installer libevent pour compiler, mais sur Ubuntu il n'était pas trop de problèmes.
Je n'ai pas vu tous les cadres de chercher le nouveau client memcached jusqu'à présent (bien que je n'ai pas garder une trace d'eux), mais je présume que Zend participeront peu de temps.