¿Cuáles son las experiencias de las personas que usan Memcached?

Es compatible con la mayoría de todos los lenguajes de programación. Hay mucha experiencia “por ahí” si necesita ayuda para descubrir las mejores prácticas o si tiene problemas. Es fácil de configurar, las curvas de aprendizaje son bastante superficiales y el impacto en las bases de código es pequeño.

Cosas que quieres tomarte el tiempo de entender;

– cómo un cliente memcached selecciona en qué demonio memcached pone una clave determinada, generalmente influenciado por el nombre de la clave en sí + la lista de demonios disponibles

– en general, no necesita “eliminar” – simplemente incremente algo como un contador que usa en todas las claves y deje que los valores antiguos expiren naturalmente. El número de revisión / hash de su sistema de control de versiones que se aplica a esta versión puede ser un buen componente para usar en sus claves

Retos particulares que he encontrado con memcached;

– Si tiene varios centros de datos, la replicación a través de ellos es un problema. Hay http://repcached.sourceforge.net/, pero probablemente un enfoque más inteligente es simplemente “no”: reconsidere la estrategia, use algo como redis con replicación, mientras se enfoca más en qué datos se almacenan donde

– hacer que los desarrolladores de Java se lo tomen en serio – puede verse como “extraño”. Pero una vez probado, muy amado. http://code.google.com/p/spymemc… es el “mejor” cliente Java basado en nuestra evaluación (rendimiento, etc.)

– hashing constante: si llega al punto de ejecutar muchos demonios memcached con una gran cantidad de datos, lea en libketama para que no vacíe todo el caché cuando cambie la lista de daemons

Que obviamente es una buena idea (y funciona tan bien) que estaría loco si no la usara. En lo que a mí respecta, es parte de la pila predeterminada para cualquier aplicación web.

El almacenamiento en caché no es transparente para la aplicación, especialmente si nunca tuvo uno de alguna forma en su arquitectura actual. Si realiza llamadas de base de datos (incluso con algún tipo de ORM) cada vez que necesita los datos, la introducción del almacenamiento en caché requiere cambios en la forma en que su aplicación trata los datos. La invalidación de la memoria caché es otro problema que debe abordar ya que el esquema LRU por sí solo no es suficiente. Si tiene una gran cantidad de datos en caché, necesitaría algún tipo de esquema para reconstruir el caché en caso de falla de un nodo. Como Sameer mencionó, no es gratuito, por lo que deberá evaluar los beneficios como cualquier otra parte de su arquitectura.

More Interesting

¿Qué tan fácil es mantener una gran base de código React.js?

¿Los campos de arranque de codificación obstaculizan el desarrollo de desarrolladores sin experiencia previa en CS?

¿Cuál es la diferencia entre PHP y CakePHP?

¿Por qué es tan popular el framework web de primavera?

¿Usar Intellij IDEA o Visual Studio para todos los proyectos es una buena idea?

¿Cuál es el diseño de la aplicación Spring MVC hibernate?

¿Tienes alguna idea sobre cómo hacer un sitio web de reserva de vuelos? De principio a fin.

¿Tratarías de enviar algunos enlaces a páginas de Internet como parte de una página de inicio de WordPress desde un dispositivo móvil a Viber o WhatsApp? ¿Cómo elige un webmaster qué imagen pequeña será el hipervínculo?

¿Cómo surgió la necesidad de páginas web dinámicas? ¿Alguien puede compartir la historia de su desarrollo?

¿Cuánta compensación de equidad debería obtener por realizar trabajos de desarrollo en una startup?

¿Existe una manera fácil de proteger el código PHP?

¿De qué maneras puedo mejorar este sitio? Los mejores sitios web para | BW4

¿Qué empresa de alojamiento de servidores es mejor para admitir Node.js?

¿Qué características necesitan los servidores de compilación para soportar la infraestructura de construcción, además de la integración continua del software de construcción?

¿Cuál es la mejor manera (e idioma) para aprender y desarrollar una aplicación / sitio web profesional que lo ayude a ganar un buen dinero?