¿Usamos Redis o Memcached para Drupal?
Con la llegada de Drupal8 muchas cosas cambiaron, una de esas es un movimiento lateral hacia Redis para manejar las tablas de cache. Lo que me llamó la atención es que ahora hay como una nube negra sobre Memcached.
- Memcached hace solo una cosa y lo hace bien. Guarda pares de llave/valor en memoria.
- Si comparamos específicamente ese trabajo, Redis lo hace con una eficiencia/velocidad muy parecida a memcached (solo un poco mejor). La diferencia es que Redis puede hacer mas cosas.
Si estamos desarrollando una plataforma nueva esto es un buen argumento en favor de Redis. Es mas complicado, lleva mas tiempo aprenderlo, pero podremos hacer mas cosas. Para mi lo mas interesante es el diseño escalable que tiene.
- Si ya están usando Memcached, yo lo seguiría usando. No veo razón para cambiar inmediatamente.
- Si tienen un proveedor que solo provee uno de los dos, simplemente usen ese. Siempre es mejor tener un servicio que nos permita acelerar el caché que usar la base de datos.
- Si no están usando ninguno, elijan uno y empiecen a usarlo. Ambos van a mejorar la performance.
Drupal7 tiene módulos estables para ambos: memcache y Redis. En la charla que di sobre Drupal performance hay mas detalles de como hacerlo.
Si ya comenzaron a usar Drupal8 o estan haciendo un desarrollo nuevo que necesita mejorar su velocidad de respuesta agregándole caché yo al menos evaluaría también Redis. Para Drupal hay versiones alpha que integra cualquiera de los dos.
Quienes soportan que en el mundo Drupal: Acquia solo soporta memcached. Pantheon y Platform solo soportan Redis.
- Un articulo de bigdatalittlegeek comparando memcached y redis.
- Una charla en stackoverflow muy clara sobre diferencias entre estos servidores.
- El siguiente articulo de InfoWorld que explica por que técnicamente Redis es mejor.