Simplificando, Redis es una base de datos que almacena la información en memoria, lo que lo hace especialmente eficiente a la hora de escribir y leer información.
Por costes de implementación, el uso de Redis era habitual en proyectos de gran tamaño, pero algo muy poco frecuente para el resto de proyectos pequeños o medianos, menos aún en entornos en los que no se dispusiese de servidores dedicados o infraestructura a medida.
Los avances en el hosting flexible tipo cloud hacen que esto ya no sea un impedimento, pudiendo disponer de una pequeña instancia de Redis propia para su uso como caché de objetos, obteniendo los beneficios de mejora de rendimiento al que hasta hace poco solo se tenía acceso con infraestructura a medida o servicios especializados, con los elevados costes que ello conllevaba.
Es importante tener en cuenta que el uso de Redis consiste en dos partes: por un lado el motor, Redis, y por otro la capa que hace de conector, que por norma general será un plugin de caché que incluya esta vía de conexión.
Hay que entender que no todos los proyectos se beneficiarán de Redis. Si no tienes consultas SQL pesadas o lentas, Redis no aportará nada.
Se podría pensar en activarlo aun así, pero ten en cuenta que la instancia de Redis que se crea se ejecutará en segundo plano todo el tiempo en tu cuenta, consumiendo memoria RAM. Por ello, siempre sería importante evaluar si se nota o no mejoría y, en caso negativo, desactivarlo.
Como regla sencilla, una web tipo portafolio o de empresa, con páginas informativas, contacto y similar, no se beneficiará de este sistema y con habilitar un plugin de caché estándar sería suficiente.
Una tienda online o una plataforma de cursos, en cambio, sería un buen ejemplo de un proyecto que podría notar una mejora significativa.
Todos los planes incluyen soporte de forma gratuita para usar Redis con sistema de caché, la única diferencia es el tamaño de la instancia:
A priori puede parecer poco espacio, pero nada más lejos, el objetivo de Redis como caché es almacenar resultados de consultas, datos que ocupan muy poco espacio, por lo que esta capacidad suele ser óptima con respecto a la CPU y memoria que ofrece cada plan de hosting.
Para activar Redis, lo primero que debes hacer es acceder al área de clientes, accede a las opciones del servicio de hosting en el que quieras disponer de esa función, y encontrarás la opción Redis Caché en la sección Herramientas.
Basta con hacer clic en Activar Redis Caché y en pocos segundos estará funcionando.
Recuerda que Redis hace uso continuo de la memoria de tu cuenta, si tras probarlo decides no usarlo, desactívalo por esa misma vía.
Una vez activo verás que aparecen una serie de datos acerca de la instancia, el estado de la misma, tipo de conexión, valor, puerto y espacio asignado, serían todos los datos que necesitarás para completar la configuración.
/tmp/redis.sock
define('WP_REDIS_SCHEME', 'unix'); define('WP_REDIS_PATH', '/tmp/redis.sock'); define('WP_REDIS_PORT', 0); define('WP_REDIS_MAXTTL', 360);
Al igual que en el resto de aplicaciones, necesitamos un módulo de caché o específico que implemente Redis, lamentablemente no conocemos ninguno con desarrollo activo que sea gratuito, por lo que tendrías que usar alguno de los disponibles en la tienda oficial, como por ejemplo: Redis Cache de Community developer.
Únicamente importante que el módulo elegido soporte conexión a Redis vía Unix Socket.
.env
de tu proyecto Laravel.REDIS_CLIENT=phpredis REDIS_SCHEME=unix REDIS_PATH=/tmp/redis.sock REDIS_PORT=0
config/database.php
, asegúrate de que la configuración de Redis sea:'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'default' => [ 'scheme' => env('REDIS_SCHEME', 'tcp'), 'path' => env('REDIS_PATH', '/tmp/redis.sock'), 'port' => env('REDIS_PORT', 0), ], ],
php artisan config:clear
De la información que aparece en la tabla, tipo de conexión, valor y puerto son los únicos datos que necesitas para conectar cualquier sistema de caché a Redis y serán siempre los mismos:
Si tienes varias webs alojadas en el mismo hosting, es importante tener en cuenta lo siguiente:
Si usas LiteSpeed Cache en WordPress, cambiarías el campo "Redis Database ID" a un valor diferente, si tienes 0 en una web, pondrías 1 en la otra y así sucesivamente.
Si en cambio usas Redis Object Cache en WordPress, el cambio se haría desde el fichero wp-config.php
de cada web, indicando un identificador diferente para cada una, por medio de la directiva:
define('WP_REDIS_DATABASE', 1);
Por defecto, el valor es 0, por lo que si no se modifica, todos los sitios usarán la misma base de datos de Redis.
Otras directivas de configuración disponibles en la documentación oficial de Redis Object Cache.
No habría ningún problema, tenemos configurado Redis para que purgue los datos más antiguos para dar cabida a los nuevos. Si bien es cierto que si la purga es continua, será contraproducente para optimizar el rendimiento, y deberás o desactivarlo, o subir a un plan superior con más memoria.
Aunque Redis es muy versátil y puede usarse para diversas funciones como colas de mensajes o almacenamiento de sesiones, en este entorno de hosting está optimizado y configurado específicamente para su uso como caché de objetos.
La mayoría de los plugins de caché para WordPress y otras plataformas ofrecen estadísticas básicas sobre el uso de Redis.