WordPress impulsa una gran parte de la web, pero su popularidad pone de manifiesto el reto que supone mantener un rendimiento óptimo. Una potente solución para mejorar el rendimiento de WordPress es el caché de objetos Redis. El uso de esta base de datos clave-valor en memoria como caché reduce el número de consultas enviadas a la base de datos principal de un sitio.

Esta guía te muestra cómo instalar y trabajar con el caché de objetos Redis para tu sitio web de WordPress. Para los clientes de Kinsta, el proceso es especialmente sencillo.

Comprender el almacenamiento en caché de objetos

Cuando cargas una página de WordPress, tu servidor suele tener que hacer varias consultas a la base de datos para obtener el contenido, la configuración y otros datos que necesita para mostrar la página. Cada consulta lleva su tiempo, y a medida que tu sitio crece, estos pequeños retrasos pueden sumar ralentizaciones notables.

El caché de objetos ayuda almacenando los resultados de estas consultas a la base de datos en la memoria. El caché almacena las consultas que utilizas a menudo y espera hasta que las necesites.

El caché de objetos puede transformar la forma en que tu sitio de WordPress gestiona la recuperación y el procesamiento de datos, y el impacto va más allá de las simples mejoras de velocidad. Cuando tu sitio experimenta picos repentinos de tráfico, como durante una exitosa campaña de marketing o después de una publicación viral en las redes sociales, Redis puede actuar como un amortiguador entre tus visitantes y tu base de datos.

En lugar de que cada visitante provoque nuevas consultas a la base de datos, Redis servirá datos almacenados en caché desde la memoria. Esto puede permitir que un sitio gestione un número significativamente mayor de usuarios simultáneos en todo el sitio sin degradar el rendimiento.

Para un sitio de comercio electrónico en el Black Friday, la información de productos almacenada en caché por Redis podría reducir la carga de la base de datos y permitir que el sitio gestione un mayor volumen de tráfico sin requerir recursos adicionales del servidor. Esta eficiencia se traduce directamente en un ahorro de costes de alojamiento, ya que puede atender a más visitantes con la infraestructura existente.

Cómo utiliza WordPress su base de datos

Comprender la forma en que WordPress interactúa con su base de datos puede ayudar a explicar por qué el almacenamiento en caché se vuelve crucial a medida que un sitio crece. Considera lo que sucede cuando alguien visita la página de inicio de tu sitio. A menos que responda con los resultados almacenados en el caché de una página, WordPress orquesta una compleja sinfonía de consultas a la base de datos para construir una página dinámica.

La página de inicio de Kinsta muestra un servicio de alojamiento administrado de WordPress sobre un fondo dramático de color rojo oscuro y negro con patrones geométricos. Hay dos botones de llamada a la acción debajo etiquetados como Ver funcionalidades y Ver precios.
La página de inicio principal del sitio web de Kinsta.

Veamos cómo se carga una página de inicio típica: en primer lugar, WordPress consulta la tabla wp_options para obtener los ajustes de tu sitio, la configuración del tema y los plugins activos.

La interfaz de gestión de bases de datos de SequelAce muestra la tabla wp_options de una instalación de WordPress. La tabla contiene ajustes de configuración del sistema con columnas para option_id, option_name y option_value. Se pueden ver varios ajustes de WordPress, como el estado predeterminado de los comentarios, los ajustes de ping, los formatos de fecha y las configuraciones de plantillas.
La tabla wp_options dentro de la aplicación SequelAce.

Si tienes widgets, bloques o elementos adicionales en tu barra lateral, esto activará consultas adicionales. Por ejemplo, una sección de Entradas Recientes necesitará datos de las entradas, las categorías necesitan recuentos de términos y cualquier funcionalidad de búsqueda necesita construir un índice.

La interfaz del editor de sitios de WordPress muestra una plantilla de entrada con una sección de título, un área de firma del autor y una explicación del bloque de contenido. A la derecha hay una lista de categorías populares que muestra varios términos de taxonomía con el número de entradas entre paréntesis. La interfaz incluye ajustes para mostrar las categorías como un menú desplegable, mostrar el número de entradas y opciones de jerarquía.
Editando la barra lateral dentro del Editor de Sitios de WordPress.

Si utilizas un plugin constructor de páginas o un tema complejo, estas consultas se multiplicarán significativamente. La complejidad aumenta con el contenido dinámico. Tomemos como ejemplo una configuración de blog habitual en la que las publicaciones muestran información del autor, categorías, etiquetas y publicaciones relacionadas:

Una entrada de blog dentro del Editor del Sitio que muestra el texto en latín
Un diseño de entrada de blog en el Editor de Sitios de WordPress.

Cada vista previa de una entrada en tu página de inicio requiere que WordPress una los datos de varias tablas. Extrae el contenido principal de wp_posts, toma los detalles del autor de wp_users, y recoge los metadatos de wp_postmeta. Una página de inicio en la que se muestren tan solo diez vistas previas de entradas podría ejecutar docenas de consultas independientes en la base de datos.

Los cuellos de botella de la base de datos de WordPress

Esta arquitectura de la base de datos también revela cuellos de botella comunes que afectan al rendimiento. Los tipos de entrada personalizados, aunque son potentes para organizar el contenido, a menudo necesitan recurrir a wp_postmeta para almacenar campos adicionales.

Algunos sitios web — piensa en una tienda online o en un directorio inmobiliario — pueden realizar cientos de consultas por carga de página sólo para mostrar cada producto o propiedad. Cada uno de ellos debe mostrar detalles individuales como los metros cuadrados, la cantidad, el precio, las habitaciones, las variaciones, etc., como entradas de metadatos independientes.

La tabla wp_options puede convertirse en otro cuello de botella. Esto se debe a que almacenará la configuración de cualquier plugin que ofrezca opciones.

El impacto se hace más pronunciado cuando tienes en cuenta a los visitantes simultáneos. Cada usuario lanzará su propio conjunto de consultas, y WordPress llevará a cabo un procesamiento independiente para cada una de ellas. Durante los picos de tráfico, este procesamiento puede crear un cuello de botella que ralentice todo el sitio.

Estas interacciones con la base de datos hacen que el almacenamiento en caché tenga un valor incalculable. Si implementas correctamente el almacenamiento en caché de objetos Redis, puede interceptar estas consultas repetidas y almacenar los resultados en memoria. En lugar de ejecutar múltiples uniones y consultas de metadatos para cada visitante, WordPress puede recuperar los datos preprocesados directamente de Redis. El resultado es que a menudo puede reducir docenas de consultas de bases de datos a una sola búsqueda en caché.

Opciones populares para el caché de objetos de WordPress

Cuando se trata de soluciones de caché de objetos para WordPress, hay varias opciones disponibles. No todos los servidores admiten todas las opciones, lo que significa que debes asegurarte de que el caché de objetos que elijas pueda satisfacer tus necesidades.

Memcached es uno de los sistemas de caché más antiguos y más utilizados. Es un sistema de caché de memoria distribuida sencillo y eficaz. Tiene mucho soporte gracias a su longevidad y, en general, es ligero en cuanto al uso de recursos. Con un buen soporte y documentación, Memcached es una solución popular para el almacenamiento en caché de objetos a todos los niveles.

La página de inicio del proyecto Memcached muestra un encabezado distintivo con personajes de conejos de estilo dibujo animado en blanco con detalles turquesa. El contenido principal explica Memcached como un sistema de caché de memoria distribuida, de código abierto y gratuito. La página incluye una sección de Ejemplo rápido con muestras de código, una demostración de Jugar con telnet y una sección de Soportado por.
El sitio web de Memcached.

Teniendo en cuenta este enfoque en la facilidad de uso, es posible que los escenarios más complejos no sean adecuados para este sencillo almacén de clave-valor. Tampoco ofrece almacenamiento «persistente», lo que significa que se borrará cuando se cargue la siguiente página.

Couchbase puede ofrecer una solución más compleja que combina capacidades de base de datos de documentos, funcionalidad típica de almacenamiento de clave-valor y agrupación en clústeres integrada. Esta última tecnología automatiza la agrupación de datos para mejorar el rendimiento, de forma similar a como funciona el Desfragmentador de disco de Windows para mejorar el rendimiento del disco de ese sistema operativo.

La página de inicio de Couchbase muestra una campaña de marketing dirigida a usuarios de MongoDB, con el titular ¿Te sientes perdido? Cambia a Couchbase Mobile. En la parte derecha de la pantalla se muestra un editor de código con un ejemplo de consulta SQL para buscar zapatos. En la parte inferior de la página se muestran logotipos de grandes empresas como DirectTV, Equifax, GE, PayPal y PepsiCo.
El sitio web de Couchbase.

Sin embargo, el almacenamiento clave-valor de Couchbase es secundario respecto a su arquitectura basada en documentos. Esto podría ser un problema si necesitas menos limitaciones en las consultas y mayor precisión en la validación y consistencia de los datos.

Por qué Redis destaca en WordPress

Para WordPress, Redis ofrece varias ventajas con respecto a la competencia directa. A diferencia de Memcached, Redis soporta estructuras de datos complejas como listas, conjuntos y conjuntos ordenados. Esto se alinea bien con las necesidades de organización de datos de WordPress y te da una forma de escalar hacia configuraciones mayores y más complejas.

Cuando se trata de utilizar estas estructuras diferentes, la «operación atómica» de Redis es crucial. En pocas palabras, esto utiliza un concepto de transacciones y agrupa varios comandos para que se ejecuten a la vez. La funcionalidad real es más compleja que esto, pero las operaciones atómicas suelen garantizar la coherencia de los datos — lo que es crucial para cualquier sitio web de WordPress.

Hay dos ventajas más de utilizar Redis con WordPress:

  • Persistencia. Redis puede guardar datos en el disco. Esto proporciona una mejor durabilidad de los datos en comparación con una solución en memoria.
  • Mejor gestión de la memoria. Redis ofrece opciones de gestión de memoria más sofisticadas que otras herramientas de caché. Esto puede darte un mejor control sobre el comportamiento de tu caché de objetos.

Redis tiene aplicaciones que van más allá del caché de objetos, pero para WordPress, la composición única de su solución de base de datos significa que su almacenamiento clave-valor resulta casi un socio ideal.

La relación entre WordPress y Redis

WordPress incluye su propia funcionalidad de caché de objetos a través de la función WP_Object_Cache. En esencia, actúa como una capa intermediaria entre el código de tu sitio y la base de datos, utilizando funciones estandarizadas para gestionar los datos almacenados en caché.

Cuando un plugin o tema solicita datos, WordPress comprueba primero si los datos existen en el caché de objetos utilizando estas funciones integradas. Por ejemplo, aquí tienes un código que recupera el recuento de comentarios de un usuario:

function get_user_comment_count($user_id) {
    // Generate a unique cache key
    $cache_key = 'user_comment_count_' . $user_id;
    
    // Try to get the value from cache first
    $comment_count = wp_cache_get($cache_key, 'user-stats');
    
    // If not in cache, query the database
    if (false === $comment_count) {
        global $wpdb;
        $comment_count = $wpdb->get_var(
            $wpdb->prepare(
                "SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d",
                $user_id
            )
        );
        
        // Store the result in cache for future requests
        wp_cache_set($cache_key, $comment_count, 'user-stats', 3600); // Cache for 1 hour
    }
    
    return $comment_count;
}

Cuando se configura correctamente con Redis, la función intercepta las peticiones a la base de datos y comprueba si los datos solicitados existen en el caché de Redis antes de que WordPress realice una consulta a la base de datos.

Y la integración va más allá del simple almacenamiento clave-valor. La capacidad de Redis para manejar estructuras de datos complejas refleja la organización jerárquica de contenidos de WordPress. Por ejemplo, cuando WordPress necesita recuperar el resultado de una consulta compleja, como todas las páginas hijas de una página padre con sus metadatos asociados, Redis almacena toda esta estructura de datos como una única entrada en caché.

Esta integración podría mejorar sustancialmente el rendimiento. Redis almacena todos los datos en memoria, lo que significa que los tiempos de acceso son en microsegundos, en lugar de los milisegundos que suelen requerir las consultas a bases de datos. Esto no parece valioso, pero para los sitios con un uso intensivo de la base de datos, esta diferencia podría suponer tiempos de carga de la página dos o tres veces más rápidos.

El caché de objetos de WordPress también soporta la funcionalidad avanzada de Redis a través de una configuración adicional. Por ejemplo, puedes implementar etiquetas de caché para una gestión más granular del caché:

function get_category_posts($category_id) {
    $cache_key = 'category_posts_' . $category_id;
    
    $posts = wp_cache_get($cache_key, 'category-posts');
    
    if (false === $posts) {
        $posts = get_posts(array(
            'category' => $category_id,
            'posts_per_page' => 10
        ));
        
        wp_cache_set(
            $cache_key,
            $posts,
            'category-posts',
            3600,
            array(
                'tags' => array(
                    'category_' . $category_id,
                    'front_page_content'
                )
            )
        );
    }
    
    return $posts;
}

// Later, when a post in this category updates:
wp_cache_delete_by_tag('category_' . $category_id);

Esta relación entre WordPress y Redis crea un potente sistema de almacenamiento en caché que gestiona de forma inteligente la persistencia de los datos a la vez que mantiene su coherencia. La función WP_Object_Cache garantiza que todos tus plugins y temas puedan beneficiarse del almacenamiento en caché de Redis sin necesidad de implementarlo directamente. Además, la funcionalidad avanzada de Redis proporciona la flexibilidad que necesitas para instalaciones complejas de WordPress.

Los clientes de Kinsta pueden instalar Redis en menos de 5 minutos

Piensa en una situación típica: tu tienda WooCommerce se ralentiza con el aumento del tráfico. En muchos servidores web, la implementación de Redis implica acceder al servidor, realizar una instalación manual, configurar los ajustes de seguridad y realizar pruebas exhaustivas. Esto podría suponer fácilmente un día de trabajo técnico — y más si se producen errores. La implementación de Redis com Kinsta transforma este proceso por completo.

Tienes la opción de añadir el almacenamiento en caché de objetos Redis con unos pocos clics en el panel de control de MyKinsta por 100 USD al mes. Los clientes pueden navegar a sitios WordPress > nombre del sitio > Add-ons > Almacenamiento en caché de Redis (o Sitios de WordPress > nombre del sitio > Caché > Redis) y haz clic en el botón Activar:

Una captura de pantalla que muestra la entrada de caché de Redis entre los add-ons disponibles en el panel de control de MyKinsta.
El add-on de caché Redis está dentro del panel de control de MyKinsta.

La integración de Kinsta puede tener un gran impacto en tu sitio y en su rendimiento:

  • Aplica una configuración óptima para sitios web de WordPress. Esto incluye ajustar los tiempos de expiración del caché — por ejemplo, cuando los carritos abandonados pueden ser un problema. La optimización del tiempo de expiración es un problema común que puede afectar a las instalaciones de Redis configuradas incorrectamente.
  • La integración de Redis se ejecuta silenciosamente en segundo plano. Para ti, esto es una buena noticia, ya que puedes continuar con la gestión de tu sitio mientras te beneficias del rendimiento que te proporcionará el almacenamiento en caché de objetos.
  • Tienes flexibilidad a la hora de monitorizar tu caché de objetos y dispones de una profunda integración con la funcionalidad y arquitectura de Kinsta.

La integración con otras herramientas dentro de MyKinsta es una gran ventaja, ya que Redis pasa a formar parte de tu estrategia global de almacenamiento en caché. Monitorizar el impacto del rendimiento también es una faceta clave que debes tener en cuenta.

Cómo implementar Redis en tu sitio web Kinsta

La configuración inicial del caché de objetos Redis con tu sitio de WordPress alojado en Kinsta es rápida. Cuando activas el add-on, Kinsta instala y configura automáticamente el plugin Redis Object Cache. Esto reduce la necesidad de más ajustes y configuraciones. También tienes la flexibilidad de utilizar un plugin de conexión diferente si lo deseas, aunque tendrás que desactivar el plugin Redis Object Cache desde WordPress para hacerlo, haz clic en el enlace Desactivar en el grupo del plugin dentro del panel de administración de WordPress:

La base de datos de administración de WordPress muestra un primer plano de la información del plugin Redis Object Cache. La interfaz muestra las opciones de desactivación y configuración, con una descripción que indica que se trata de un backend de caché de objetos persistente que soporta centinelas, clustering y WP-CLI.
La página de plugins de WordPress y el plugin Redis Object Cache.

Gran parte de la gestión de tu instalación de Redis se realizará en tu sitio web de WordPress a través de la configuración de tu plugin. Esto incluye borrar el caché. El plugin Kinsta MU añade esta opción a la barra de herramientas de WordPress:

El encabezado del panel de administración de WordPress muestra indicadores de notificación y una etiqueta de caché de objetos dentro de la barra de herramientas negra. Debajo hay un widget de caché de objetos Redis que muestra métricas de rendimiento, incluidas las columnas Tiempo, Bytes, Ratio y Llamadas, con una lectura de 5 ms visible.
El panel de administración de WordPress muestra la opción Caché de objetos dentro de la barra de herramientas.

Sin embargo, hay algunas formas de borrar el caché de Redis más allá de WordPress. Por ejemplo, la pantalla Sitios de WordPress > nombre del sitio > Caché > Caché del Servidor dentro de MyKinsta te permitirá hacerlo:

La página de configuración del caché del servidor dentro del panel de control de MyKinsta. Incluye pestañas para Edge Caching, CDN, Caché del servidor y Redis. La interfaz explica que el caché mejora los tiempos de carga del sitio almacenando los datos del sitio e incluye opciones para borrar el caché o cambiar la configuración de caducidad del caché. Una barra lateral a la izquierda proporciona navegación a otros ajustes como Dominios, Copias de seguridad y Herramientas.
La pantalla Caché del servidor dentro del panel de control de MyKinsta.

Esta opción borra todas los cachés que utiliza tu sitio, al igual que los enfoques alternativos que utilizan Secure Shell (SSH) y WP-CLI.

Cómo instalar Redis en otros alojamientos web de WordPress

Aunque Redis es una forma popular de configurar una caché de objetos, no todos los alojamientos ofrecen acceso o integración. Esto significa que es posible que tengas que ensuciarte las manos con código en tu servidor.

Cada proveedor de alojamiento web tendrá un enfoque diferente para hacerlo — algunos ni siquiera te darán el acceso root que necesitas. Sin embargo, los pasos habituales incluirán preparar el servidor, instalar Redis y, a continuación, configurar WordPress para utilizarlo.

Preparación e instalación del servidor

Instalar Redis requiere un entorno de servidor correctamente configurado. Para algunos alojamientos para WordPress, esto puede implicar que elijas un plan adecuado. Es probable que no puedas hacerlo en un alojamiento compartido típico o incluso en niveles administrados. Un servidor privado virtual (VPS) será el punto de partida para tus esfuerzos, pero un alojamiento en la nube dedicado será lo ideal.

En cualquier caso, tu instalación de PHP necesitará la extensión phpredis. Instalarla permite a Redis trabajar con PHP — algo esencial para trabajar también con WordPress. Deberás utilizar indicadores de compilación y opciones de configuración específicos, y hay muchos.

En sistemas Ubuntu, instala los componentes necesarios con:

sudo apt-get update
sudo apt install redis server

Una vez finalizado el proceso de instalación, ejecuta sudo service redis status para comprobar que Redis se ejecuta como esperabas. También puedes ejecutar redis-cli --version para comprobar que la instalación se completa como esperabas.

Una vez que tengas Redis funcionando en tu servidor, puedes instalar la extensión phpredis:

sudo apt-get install php-redis
sudo phpenmod redis

Esto es todo lo que tienes que hacer para instalar Redis, pero aún tienes que configurarlo para tu servidor y tus recursos disponibles.

Configuración de Redis

Antes de que el archivo de configuración del servidor Redis comience a funcionar en tu sitio, deberás prestarle atención. Lo primero es saber si WordPress y Redis funcionan en el mismo servidor. Normalmente, este será el caso, por lo que deberás vincular la dirección localhost (127.0.0.1).

Puedes elegir cualquier editor para la tarea de acceder a tu archivo de configuración de Redis, pero nano es perfecto y estará disponible en casi todas las instancias de servidor que encuentres:

sudo nano /etc/redis/redis.conf

En la mayoría de los casos, puedes encontrar la línea correcta y descomentarla antes de guardar los cambios:

bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6

Es posible que desees realizar más cambios en este archivo de configuración. Esta es una configuración óptima para los sitios de WordPress:

maxmemory 256mb
maxmemory-policy allkeys-lru
appendonly yes
appendfsync everysec
save 900 1
save 300 10
save 60 10000

Cada opción de configuración tiene un propósito específico:

  • La configuración maxmemory de 256 MB proporciona un buen punto de partida para la mayoría de las instalaciones de WordPress. Esta configuración evita que Redis consuma demasiada memoria del sistema, a la vez que mantiene suficiente espacio en el caché para mejorar significativamente el rendimiento.
  • allkeys-lru maxmemory-policy garantiza que el contenido al que se accede con más frecuencia permanece en el caché. Algunos sitios se benefician de volatile-lru en su lugar, especialmente cuando se almacenan en caché datos de sesión junto con contenido normal.
  • Los ajustes appendonly y appendfsync gestionan el comportamiento de persistencia de Redis. Aunque Redis sirve principalmente como caché, mantener la persistencia evita pérdidas completas de caché durante los reinicios del servidor. La configuración everysec equilibra el rendimiento con la seguridad de los datos.

Las directivas save controlan cuándo Redis crea capturas instantáneas del conjunto de datos. La configuración de ejemplo le dice a Redis que guarde:

  • Cada 15 minutos después de un cambio.
  • Cada 5 minutos después de 10 cambios.
  • Cada minuto después de 10.000 cambios.

Estos ajustes de persistencia te ayudarán a mantener la eficiencia del caché y a protegerte contra la pérdida de datos.

Configurar la seguridad de Redis y probar los cambios

Aquí también debes tener en cuenta la seguridad. Por ejemplo, puedes configurar la autenticación de contraseñas mediante el comando requirepass e incluso renombrar los comandos «peligrosos». La lista de control de acceso (ACL) de Redis pone limitaciones a determinados comandos destructivos, y deberías revisar toda la lista para ver si alguno puede afectarte.

Una vez que hayas completado todos estos pasos, es una buena idea probar el rendimiento de tu servidor Redis. Para ello, la CLI de Redis ofrece varios comandos de evaluación comparativa:

redis-cli --latency
redis-cli info | grep used_memory_human
redis-cli info | grep connected_clients

En resumen, establecen métricas de rendimiento de referencia para una monitorización continua y deberían formar parte de tu flujo de trabajo de mantenimiento habitual.

Configurar WordPress

Una vez que Redis está funcionando en tu servidor, WordPress necesita ser configurado para utilizarlo como caché de objetos. La configuración suele incluir la especificación de los detalles de conexión a Redis, como el host, el puerto y cualquier credencial de autenticación.

Podrías añadir manualmente el archivo de caché de objetos adecuado a tu directorio wp-content, aunque instalar un plugin de caché de objetos Redis dedicado puede ser la mejor manera de conseguirlo. Aquí solo recomendamos el plugin Redis Object Cache mencionado anteriormente, ya que Kinsta no soporta muchos plugins de caché debido a su propia funcionalidad. El plugin Redis Object Cache es más bien una ayuda para conectar WordPress al almacén de claves-valores.

Gestión de Redis más allá de la instalación

Las instalaciones típicas de caché de objetos Redis proporcionan acceso a la CLI de Redis. En Kinsta, esto se extiende a lo largo de todo tu flujo de trabajo de desarrollo, como con los entornos staging y DevKinsta.

Monitorización fundamental

Esta interfaz de línea de comandos te proporciona potentes capacidades para conectarte a tu instancia de Redis y obtener una visión inmediata del funcionamiento de tu caché. Por ejemplo, puedes revelar patrones de datos almacenados en caché, analizar el uso de memoria y ejecutar tareas de mantenimiento en tiempo real.

Para la monitorización básica, hay algunos comandos esenciales que debes tener en cuenta:

redis-cli INFO stats           # View cache hits and misses
redis-cli INFO memory         # Check memory utilization
redis-cli MONITOR            # Watch live cache operations

El comando MONITOR transmite las operaciones de caché en tiempo real, lo que muestra exactamente cómo interactúa WordPress con Redis. Esta visibilidad te ayuda a identificar patrones de caché y oportunidades de optimización. El comando SLOWLOG identifica las consultas problemáticas:

redis-cli SLOWLOG GET 10     # View the 10 slowest recent operations
redis-cli SLOWLOG RESET      # Clear the slow log for fresh monitoring

Tienes opciones que van mucho más allá de lo que Redis puede ofrecer.

Comandos avanzados de monitorización de Redis

Una forma sencilla de controlar los recursos es monitorizar los límites de conexión de Redis. Es una forma excelente de evitar el agotamiento de recursos:

redis-cli CLIENT LIST | wc -l    # Count active connections
redis-cli CONFIG GET maxclients  # Check maximum allowed connections

WordPress utiliza Redis para acelerar el acceso de lectura de su base de datos. Las entradas del caché son persistentes y siempre se pueden volver a almacenar en caché en el futuro. Para ello, Redis admite «políticas de desalojo» para las claves que almacena.

Sin embargo, esto puede traer inconvenientes en forma de presión de memoria. Un «ratio de aciertos» bajo — que compara el número total de operaciones con las realizadas sobre claves existentes — es una prueba de ello, por lo que el seguimiento de las siguientes métricas puede ser vital:

redis-cli INFO stats | grep evicted_keys
redis-cli INFO stats | grep hit_rate

Si descubres que tu base de datos sufre presión de memoria, puedes optar por aumentar la memoria disponible, optimizar cualquier política de caducidad de claves y aplicar estrategias de almacenamiento selectivo en caché. El enfoque exacto que adoptes dependerá de tu sitio y de la presión a la que esté sometida tu memoria.

Usar una interfaz gráfica con Redis

Hay mucho más por descubrir con los comandos de Redis y el uso de CLI, aunque no será una herramienta adecuada para algunos. Aquí es donde la aplicación Redis Insight puede ser útil.

La interfaz de gestión de la base de datos Redis Insight, de temática oscura, muestra varias instancias de Redis stack ejecutándose en diferentes puertos de localhost (6379, 12001, 7777, 8102, 8103, 8100 y 8101). Cada instancia está marcada como independiente e incluye varios módulos Redis, como RedisSearch, RedisJSON, RedisGraph, RedisTimeSeries y RedisBloom.
La app GUI Redis Insight.

Esto te proporciona una GUI para ver tu caché de objetos Redis sin necesidad de un terminal, acceso al servidor o trabajo con la línea de comandos. Al igual que trabajarías con una herramienta como TablePlus o SequelAce para ver tu base de datos de WordPress, una app como Redis Insight es rápida de configurar y podría agilizar tu flujo de trabajo.

Desafíos comunes de Redis y sus soluciones

La mayoría de las veces, tu instalación de Redis funcionará sin más mantenimiento. Sin embargo, algunas implementaciones de Redis pueden presentar retos que requerirán tu atención. Por ejemplo, puede que veas una advertencia en MyKinsta de que WordPress no puede detectar un plugin de conexión adecuado.

Este mensaje aparece cuando eliges utilizar un plugin distinto de Redis Object Cache y se puede ignorar en la gran mayoría de las circunstancias. Sin embargo, ten en cuenta que el funcionamiento óptimo de Redis depende de un plugin de conexión adecuado.

Por ejemplo, es posible que no veas las métricas correctas cuando analices dentro de la Herramienta APM de Kinsta (u otras analíticas de Kinsta). Esto debería ser algo que puedas contrarrestar y resolver si decides crear una instancia de Redis personalizada con Kinsta.

También es una buena idea comprender tus limitaciones con la integración de Kinsta con Redis. Por ejemplo, puedes ver varios errores si utilizas un tipo de instalación de WordPress no típico. Utilizar una instalación Bedrock es una razón común de errores y es algo que el equipo de Soporte de Kinsta puede ayudarte a resolver.

Resumen

El almacenamiento en caché de objetos Redis ofrece potentes mejoras de rendimiento para los sitios de WordPress a través de un almacenamiento y recuperación de datos eficiente. El éxito radica en una correcta implementación, monitorización regular y mantenimiento. Utilizar la solución gestionada de Kinsta te permite trabajar con estos principios para garantizar un rendimiento óptimo del sitio.

Cada etapa de la implementación de Redis se basa en la anterior. Primero, empieza con la configuración adecuada del servidor. Después, intégralo con la integración de WordPress. Por último, el aumento del rendimiento puede mantenerse mediante la monitorización y optimización periódicas. Este enfoque te ayudará a crear una sólida infraestructura de almacenamiento en caché que crezca con tu sitio, con Kinsta como base.

¿Tienes algún reto que la implementación de Kinsta para el caché de objetos Redis resuelva? ¡Agradecemos tu opinión en la sección de comentarios más abajo!

Steve Bonisteel Kinsta

Steve Bonisteel es un Editor Técnico de Kinsta que comenzó su carrera de redactor como periodista de prensa escrita, persiguiendo ambulancias y camiones de bomberos. Lleva tratando temas relacionados con la tecnología de Internet desde finales de la década de 1990.