Redis es un almacén de datos clave-valor en memoria, sin esquema, para aplicaciones en tiempo real. Los desarrolladores pueden utilizarlo como una base de datos NoSQL, una capa de datos secundaria o una capa de caché para procesos informáticos intensivos.
Redis ofrece almacenamiento persistente que puede almacenar en caché estados de sesión de sitios web y otros datos. Las aplicaciones que utilizan Redis como capa de caché suelen hacer una consulta compleja a la base de datos o una llamada a la API y luego almacenan en caché los resultados. Puede almacenar y recuperar objetos de forma rápida y eficiente. Por lo tanto, Redis es un compañero magnífico para WordPress, que utiliza un servidor de base de datos relacional más tradicional como almacén principal de contenido.
Puedes utilizar la interfaz de línea de comandos (CLI) de Redis para comunicarte con el servidor Redis de tu sitio WordPress. Utilizando la CLI de Redis (invocada en la línea de comandos como redis-cli
), puedes solicitar y recibir respuestas del servidor Redis mediante programación, controlar los comandos ejecutados en una instancia de Redis, comprobar la latencia de una instancia y observar el estado del servidor en tiempo real.
Este tutorial te muestra cómo integrar Redis y tu sitio WordPress y utilizar la CLI de Redis para realizar operaciones de creación, lectura, actualización y eliminación (CRUD) desde tu terminal.
Conectar Redis a WordPress Utilizando DevKinsta
Para conectar un sitio WordPress a una base de datos Redis, utilizaremos DevKinsta, un conjunto de herramientas gratuitas de un solo clic para crear, desarrollar y desplegar rápidamente sitios WordPress desde tu entorno local.
DevKinsta pone en marcha localmente un sitio WordPress en Docker con las últimas versiones de sus dependencias, incluyendo un servidor web Nginx, PHP y una base de datos MariaDB compatible con MySQL. También incluye soporte CLI para WordPress.
DevKinsta está disponible para Windows, Linux y macOS. Puedes encontrar más información sobre la instalación cuando descargues DevKinsta.
Una vez finalizada la instalación, crea e instala un nuevo sitio de WordPress localmente en tu dispositivo utilizando el stack de alojamiento predeterminado.
DevKinsta ofrece tres opciones para crear localmente sitios de WordPress: un sitio nuevo con la configuración predeterminada, un sitio nuevo con la configuración personalizada y la clonación de un sitio existente alojado en Kinsta a tu entorno de desarrollo local.
Este tutorial utiliza la primera opción con la configuración predeterminada y las últimas versiones de Nginx, PHP, MariaDB y WordPress.
Una vez que hayas seguido estos pasos, podrás ver el panel de control de tu nuevo sitio en DevKinsta:
Toma nota de la Ruta del sitio. Este es el directorio que contiene los archivos y carpetas del sitio local. En la esquina superior derecha aparece el enlace al panel de control WP Admin. Por último, fíjate en el Host del Sitio, que es la URL que apunta a tu nuevo sitio de desarrollo.
Puedes abrir Docker Desktop para listar todos los contenedores que se ejecutan como dependencias en tu proyecto DevKinsta. Para ello, haz clic en Contenedores en la parte superior de la barra lateral izquierda:
Ahora que tu sitio WordPress y las dependencias de los contenedores están en funcionamiento, estás listo para conectar una base de datos Redis a tu sitio:
- Haz clic en el botón WP Admin en DevKinsta para navegar a tu panel de administración de WordPress.
- Haz clic en la pestaña Plugins en el lado izquierdo.
- Haz clic en Añadir Nuevo y busca «Redis Object Cache»
Haz clic en Instalar Ahora junto al plugin. A continuación, confirma que está activo haciendo clic en la pestaña Plugins Instalados.
Cuando se activa por primera vez, el plugin Redis Object Cache informará de que no puede conectarse a una base de datos Redis. Lo solucionaremos creando un contenedor con una instancia de Redis dentro de Docker.
Abramos un terminal y creemos un contenedor de red llamado redisnet en el que ejecutar tu imagen de Redis:
docker network create -d bridge redisnet
Ahora, crea y ejecuta una imagen de Redis como contenedor independiente dentro de ese contenedor de red:
docker run -d -p 6379:6379 --name demo_redis --network redisnet redis
Tras iniciar la imagen contenedora, comprueba en Docker Desktop que la imagen Redis está en funcionamiento:
Recuerda que tu sitio WordPress se inició automáticamente dentro de un contenedor Docker. Puedes confirmar su nombre e ID de red del contenedor:
docker network ls
Arriba, la versión abreviada del ID de red para devkinsta_network es d1fa155f7a4d
. Lo utilizaremos más adelante.
Una forma de conectar tu clúster y servidor Redis a tu sitio local de WordPress es conectando directamente las redes Redis y DevKinsta. Primero, verifica el ID del contenedor para Redis. Aquí, con el comando Docker para listar contenedores, estamos utilizando el modificador -l
(último) para mostrar sólo el contenedor creado más recientemente:
docker ps -l
En este ejemplo, el ID abreviado del contenedor aparece como c3ffc630e44c
.
Conecta tu contenedor Redis a la red DevKinsta utilizando el ID de tu contenedor en lugar del nuestro en el comando que aparece a continuación.
docker network connect devkinsta_network c3ffc630e44c
Deberías haber añadido correctamente la imagen del contenedor Redis a la lista de contenedores en ejecución dentro de devkinsta_network. Para verificar la dirección IP de red del contenedor Redis, ejecuta el siguiente comando, sustituyendo nuestro ID de devkinsta_network por el que encontraste utilizando el comando network ls
en tu proyecto:
docker inspect d1fa155f7a4d
En la imagen anterior, la dirección IP del contenedor demo_redis es 172.172.0.6. Anota la dirección IP en tu proyecto antes de proceder a la conexión.
Navega hasta el root del sitio de WordPress en tu máquina local, que se encuentra en la Ruta del sitio mostrada en DevKinsta. Abre el archivo wp-config.php en un editor de texto y añade el siguiente código en la sección de variables de configuración personalizadas:
define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_HOST', '172.172.0.6');
define('WP_REDIS_PORT', '6379');
La dirección IP que utilizas para WP_REDIS_HOST
es la que descubriste para demo_redis cuando ejecutaste el comando docker inspect
.
Este código de configuración añade el cliente Redis, el host y el puerto para que el pluging pueda acceder al servidor Redis dentro del mismo contenedor Docker y de la misma red que DevKinsta.
Para confirmar que el plugin está conectado y funcionando
- Ve a la página de plugins de WordPress en el panel de control del administrador.
- Haz clic en el enlace Configuración de Redis Object Cache.
- En la página Configuración, haz clic en el botón Activar Caché de Objetos.
Una vez activada la Caché de Objetos Redis, su página de Configuración tendrá el siguiente aspecto:
Iniciar la CLI de Redis
La herramienta Redis CLI (redis-cli
) viene incluida con un servidor Redis. Puedes instalar un servidor Redis en los sistemas operativos Windows, macOS y Linux.
Sin embargo, aquí ya estamos ejecutando Redis en Docker, por lo que podemos lanzar la herramienta CLI dentro de nuestro contenedor demo_redis.
Más arriba, cuando utilizamos el comando docker ps
, obtuvimos el ID del contenedor que ejecuta la imagen de Redis. El nuestro empezaba por c3ffc630e44c
. Podemos utilizar este ID abreviado para apuntar a demo_redis y lanzar un intérprete de comandos dentro de él:
docker exec -it c3ffc630e44c /bin/sh
Ahora puedes invocar la herramienta redis-cli
:
Puedes hacer ping al servidor para probar la conexión:
ping
Para conectarte al servidor Redis utilizando su dirección IP y su puerto y probar esa conexión, ejecuta el siguiente comando (utilizando la dirección IP de tu contenedor demo_redis):
redis-cli -h 172.172.0.6 -p 6379 ping
Te has conectado correctamente al servidor Redis tanto en tu máquina local como en el contenedor Docker.
A continuación, comprueba que tu sitio WordPress está almacenando datos en la caché de Redis utilizando redis-cli
y su comando keys *
para mostrar todas las claves de la base de datos:
Puedes ver que algunos datos de WordPress ya se han guardado en la caché de Redis.
Operaciones CRUD en la CLI de Redis
Puedes realizar operaciones CRUD en tu base de datos Redis utilizando la herramienta CLI.
Vamos a obtener el valor de una clave que copiamos de nuestra anterior petición Redis CLI keys *
.
get :u.:~8r]mC->Re/gG!&mGU.[{+;]t7o<H~)c*pcU=Lx_Vs{9JkdxkL:X;M-@Y$Svwp:user_meta:1
Manipulemos el contenido de la base de datos Redis invocando a redis-cli
y utilizando los comandos set
, get
y del
para crear un par clave/valor, consultar la nueva clave y luego borrarla:
Más arriba, al intentar recuperar el valor de una clave que ha sido eliminada, se obtiene nil
.
Hay muchas más operaciones avanzadas disponibles cuando se utiliza la CLI de Redis.
Resumen
La CLI de Redis es una forma sencilla de probar los comandos de Redis en tu sitio web antes de pasarlos a un entorno en producción. También es una forma estupenda de monitorizar la actividad en una instancia de Redis.
En Docker, una instancia de Redis proporciona las herramientas que necesitas para gestionar la base de datos — incluido redis-cli
— agrupadas en un único contenedor.
Mientras tanto, el enfoque Dockerizado de DevKinsta facilita el desarrollo de un sitio WordPress en una máquina local y su posterior despliegue en producción con unos pocos clics de ratón.
Si aún no gestionas algunos de los 118,000 sitios de WordPress alojados en Kinsta, descubre las funciones avanzadas disponibles en todos nuestros planes de Alojamiento Administrado de WordPress.
Deja una respuesta