Redis object cache para WordPress en Chile: qué es y cómo activarlo en tu hosting
Redis reduce las consultas a la base de datos de tu WordPress hasta un 60%. Si tu sitio tiene muchos usuarios logueados, tiendas WooCommerce o páginas dinámicas, Redis object cache es una de las optimizaciones con mayor impacto.
Redis object cache para WordPress en Chile: qué es y cómo activarlo en tu hosting
Cuando se habla de acelerar WordPress, la conversación suele centrarse en el page cache (caché de página completa) o en la optimización de imágenes. Pero hay un tipo de caché que tiene un impacto enorme en sitios dinámicos y que mucha gente ignora: el object cache, y Redis es el estándar para implementarlo.
Redis object cache funciona a nivel de base de datos. En lugar de guardar páginas HTML completas, guarda los resultados de las consultas más frecuentes a MySQL en memoria RAM, eliminando el tiempo de acceso al disco en cada solicitud.
Esta guía explica qué es, cómo funciona, cuándo lo necesitas y cómo configurarlo paso a paso en hosting con cPanel y AccelerateWP.
Diferencia entre page cache y object cache
Antes de entrar en Redis, conviene entender qué problema resuelve. Muchos tutoriales confunden los dos tipos de caché o los presentan como equivalentes, pero son fundamentalmente diferentes.
Page cache (caché de página)
Guarda una versión HTML completa y estática de cada página. Cuando un usuario pide tudominio.cl/contacto/, el servidor sirve el archivo HTML cacheado sin ejecutar PHP ni consultar la base de datos.
- Qué resuelve: Tiempo de generación de la página, procesamiento PHP, consultas a MySQL.
- Limitación: No funciona para páginas personalizadas por usuario, carritos de compra, páginas de cuenta, o contenido que cambia frecuentemente.
- Herramientas: LiteSpeed Cache, WP Rocket, WP Super Cache, Nginx FastCGI.
Object cache (caché de objetos)
Guarda los resultados de consultas individuales a la base de datos. Cuando WordPress necesita la lista de opciones guardadas, los posts recientes, o los resultados de una consulta compleja, Redis los guarda en RAM para que la siguiente solicitud identical no vuelva a consultar MySQL.
- Qué resuelve: Consultas repetitivas a la base de datos, tiempo de acceso MySQL.
- Ventaja: Funciona para cualquier tipo de contenido, incluyendo páginas dinámicas y usuarios logueados.
- Herramientas: Redis + plugin Redis Object Cache, Memcached + W3 Total Cache.
¿Cuándo usar cuál?
La respuesta corta: ambos. Page cache y object cache no se reemplazan, se complementan. El page cache sirve páginas rápidas a visitantes anónimos. El object cache reduce la carga de base de datos para contenido dinámico.
Qué guarda Redis en caché en WordPress
Redis en WordPress guarda varios tipos de datos que normalmente se consultan a MySQL en cada página:
Opciones de WordPress
WordPress guarda miles de opciones en la tabla wp_options: nombre del sitio, URL, configuración de plugins, ajustes de temas. Cada vez que WordPress carga, consulta esta tabla.
Redis cachea las opciones después de la primera consulta. Las siguientes lecturas vienen de RAM, no de MySQL.
Transients
Los transients son datos temporales que plugins y temas usan para cachear resultados de API, feeds o información de sesión:
set_transient('mi_plugin_datos_cacheados', $datos, HOUR_IN_SECONDS);
Sin object cache, cada solicitud verifica si el transient existe en MySQL. Con Redis, se guarda en RAM con TTL automático.
Posts y consultas frecuentes
WordPress hace decenas de consultas a MySQL por cada página para obtener posts, categorías, tags, metadata, comentarios. Las consultas repetitivas (ej: menú de navegación, sidebar con categorías) se cachean en Redis.
Objetos de usuario y sesión
En sitios con usuarios logueados, Redis guarda los objetos de sesión para que PHP no necesite consultar la base de datos en cada request del mismo usuario.
результаты de queries complejas
Consultas que involucran JOINs entre múltiples tablas (ej: una consulta de productos con filtros en WooCommerce) son particularmente costosas. Redis guarda el resultado completo para reutilizarlo.
Cuándo necesitas Redis object cache
Redis no es necesario para todo sitio WordPress. Para un blog personal con 500 visitas diarias, el page cache es suficiente. Pero hay escenarios donde Redis marca una diferencia real.
Señales de que tu sitio necesita Redis
Tiempo de carga aumenta con usuarios logueados. Si tu sitio carga rápido para visitantes anónimos pero se ralentiza cuando un usuario inicia sesión, el problema es la falta de object cache. Page cache no funciona para usuarios logueados.
Base de datos con más de 50 tablas activas. Plugins como WooCommerce, bbPress, BuddyPress y membership plugins añaden muchas tablas. Cada consulta tiene overhead.
WooCommerce con más de 1.000 productos. Las páginas de producto, archivo y búsqueda hacen consultas complejas a MySQL que se benefician enormemente de object cache.
Alto porcentaje de usuarios logueados. Si más del 20% del tráfico son usuarios registrados, el page cache cubre poco y Redis se vuelve crítico.
Consultas lentas visibles en Debug Bar. Si el plugin Debug Bar muestra consultas MySQL de más de 50ms, Redis puede eliminarlas.
Benchmarks típicos con Redis activo
En instalaciones WordPress con Redis bien configurado:
- Consultas a base de datos por página: de 80-150 a 5-20
- Tiempo de respuesta MySQL: de 100-400ms a 5-20ms
- TTFB (Time to First Byte) para usuarios logueados: mejora del 40-70%
- Capacidad concurrente: 2-3x más usuarios simultáneos con el mismo servidor
Cómo activar Redis en hosting cPanel con AccelerateWP
Elevocloud incluye Redis en sus planes de hosting a través de AccelerateWP. El proceso de activación es directo.
Paso 1: Verificar que Redis está habilitado en el plan
No todos los planes de hosting incluyen Redis. En Elevocloud, Redis está disponible en planes VPS y en hosting compartido de nivel superior.
Para verificar: inicia sesión en cPanel y busca AccelerateWP en la barra lateral. Si la opción "Object Cache" aparece, tu plan lo incluye.
Paso 2: Activar Redis desde AccelerateWP
En cPanel, ve a AccelerateWP → Object Cache.
Verás una lista de dominios en el hosting. Junto a cada dominio, hay un interruptor para activar Redis.
Haz clic en el interruptor para activar. AccelerateWP configura automáticamente Redis como backend de object cache y actualiza el archivo wp-config.php con las credenciales necesarias.
Paso 3: Instalar el plugin Redis Object Cache
Si AccelerateWP no gestiona el plugin de WordPress automáticamente, instala Redis Object Cache desde Plugins → Añadir nuevo (busca "Redis Object Cache" de Till Krüss).
Activa el plugin.
Paso 4: Conectar el plugin con Redis
Ve a Ajustes → Redis.
Verás el estado de la conexión. Haz clic en Enable Object Cache.
El plugin intentará conectarse al servidor Redis de tu hosting. Si AccelerateWP ya configuró las credenciales en wp-config.php, la conexión debería ser automática.
Si necesitas configurar manualmente, los valores típicos en cPanel con AccelerateWP son:
// En wp-config.php, después de define('WP_DEBUG', false);
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PREFIX', 'tu-dominio_');
define('WP_REDIS_DATABASE', 0);
Paso 5: Verificar que funciona
En Ajustes → Redis, el estado debería mostrar "Connected".
También puedes verificar desde la barra superior de WordPress: si el menú de LiteSpeed Cache o AccelerateWP muestra un indicador de object cache activo, Redis está funcionando.
Para verificar técnicamente:
# Desde SSH o terminal del servidor: redis-cli ping # Respuesta esperada: PONG redis-cli info stats | grep keyspace # Muestra keys almacenadas y hits/misses
Plugin Redis Object Cache: configuración avanzada
Prefijo de base de datos
Si compartes Redis entre varios sitios en el mismo servidor, usa un prefijo único por sitio para evitar colisiones:
define('WP_REDIS_PREFIX', 'sitio-cliente_');
Base de datos Redis separada
Por defecto, Redis usa la base de datos 0. Puedes cambiar a otra para aislar datos:
define('WP_REDIS_DATABASE', 1);
Tiempo de expiración (TTL)
El plugin elimina keys de Redis automáticamente cuando expiran. Los TTLs por defecto funcionan bien para la mayoría de los sitios. Si necesitas ajustarlos:
define('WP_REDIS_MAXTTL', 86400); // 24 horas máximo
Purgar la caché manualmente
Cuando actualices plugins, temas o contenido crítico, purga la caché de objetos para que los cambios se reflejen inmediatamente:
En Ajustes → Redis, haz clic en Flush Cache.
O desde wp-cli:
wp redis flush
Redis vs Memcached: cuál usa tu hosting
Tanto Redis como Memcached son sistemas de caché en memoria. Tienen diferencias importantes:
| Característica | Redis | Memcached |
|---|---|---|
| Tipo de datos | Strings, hashes, lists, sets, sorted sets | Solo strings |
| Persistencia | Opcional (RDB + AOF) | No (puramente en RAM) |
| Replicación | Master-slave nativa | No nativa |
| Uso en WordPress | Object cache principal | Object cache alternativo |
| Disponibilidad en hosting chileno | Planes VPS y compartidos altos | Menos común |
Para WordPress específicamente, Redis es la opción más usada y mejor soportada por plugins. Si tu hosting ofrece ambos, elige Redis.
En los planes de Elevocloud, Redis es el sistema de object cache incluido a través de AccelerateWP.
Monitorear Redis: comandos útiles
Una vez que Redis está activo, puedes monitorear su rendimiento desde el servidor:
Ver uso de memoria
redis-cli info memory | grep used_memory_human
Ver ratio de hits/misses
redis-cli info stats | grep keyspace
Un ratio de hits superior al 90% indica que Redis está cacheando efectivamente las consultas más frecuentes.
Ver las keys más accedidas
redis-cli --bigkeys
Muestra las keys más grandes en Redis, lo que ayuda a identificar qué contenido consume más memoria.
Ver keys de un sitio específico (con prefijo)
redis-cli --scan --pattern "tu-dominio_*" | head -20
Lista las primeras 20 keys cacheadas para tu sitio.
Errores comunes con Redis en WordPress
Error: "Error establishing a Redis connection"
Causa: Redis no está habilitado en el hosting, o el plugin no encuentra las credenciales.
Solución: Verifica que el hosting incluya Redis. En cPanel, confirma que el servicio Redis está corriendo. Si usas un plugin de object cache, asegúrate de que WP_REDIS_HOST y WP_REDIS_PORT en wp-config.php sean correctos.
El sitio se ralentiza con Redis activo
Esto puede pasar si el servidor Redis está en un host diferente y la latencia de red supera el tiempo de consulta MySQL.
Solución: Verifica que Redis esté en 127.0.0.1 (localhost). Si el hosting ofrece Redis en un servidor separado, consulta al soporte si hay latencia.
Datos antiguos tras actualizar contenido
El object cache sirve datos cacheados. Si actualizaste un post y no se refleja, purge la caché manualmente.
Redis consume mucha memoria
Redis está configurado para usar una cantidad máxima de RAM. Si supera ese límite, elimina las keys más antiguas (evicción LRU). Esto es comportamiento normal.
Para limitar el consumo:
redis-cli config set maxmemory 256mb redis-cli config set maxmemory-policy allkeys-lru
Conclusión
Redis object cache es una de las optimizaciones de WordPress con mejor relación costo-impacto. Para sitios con contenido dinámico, usuarios logueados o tiendas WooCommerce, la diferencia es notable: menos consultas a la base de datos, tiempos de respuesta más rápidos y mayor capacidad de usuarios simultáneos.
La buena noticia es que en hosting con AccelerateWP (como Elevocloud), la activación es casi automática: un clic en el panel, el plugin de WordPress instalado, y Redis está funcionando. No necesitas ser sysadmin para beneficiarte de esta optimización.