En esta página:
En la parte anterior de este tutorial, creamos un nuevo proyecto y probamos que los datos se almacenen correctamente en Redis.
Solo hicimos uso de PHP y Redis, pero falta guardar los datos de MySQL en Redis para que estén listos y poder mostrarlos a los usuarios
En esta segunda y última parte finalizaremos el tutorial Como Usar MySQL, PHP y Redis, vamos con ello.
Partes
- Parte 1
- Parte 2 (Final)
Integrando MySQL, PHP y Redis
Tengo la siguiente tabla llamada zapatos con 3 datos o registros en mi base de datos productos, tu puedes usar los datos que desees:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql> SELECT * FROM zapatos; +----+---------------------------+--------+-------+---------------------+ | id | nombre | precio | stock | created_at | +----+---------------------------+--------+-------+---------------------+ | 1 | Zapatos de Cuero Marrones | 75.00 | 30 | 2024-01-15 15:28:47 | | 2 | Zapatos de Cuero Negros | 80.00 | 40 | 2024-01-15 15:28:47 | | 3 | Zapatos de Cuero Verdes | 90.00 | 25 | 2024-01-15 15:28:49 | +----+---------------------------+--------+-------+---------------------+ 3 rows in set (0.00 sec) mysql> |
Entonces reemplazamos el codigo del archivo index.php que creamos en la parte anterior de este tutorial y le agregamos el siguiente codigo (He colocado comentarios para explicar que hacen las partes más importantes del código):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<?php // Nos conectamos al servidor de Redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); // Definimos la key para los datos en Redis $key = 'productos'; // Verificamos si la key existe en Redis if (!$redis->get($key)) { // Datos de conexión a la base de datos $mensaje = 'Datos de MySQL ha guardar en Redis'; $basededatos = 'productos'; $usuario = 'USUARIO'; $password = 'PASSWORD'; $host = 'localhost'; // Usamos PDO para acceder a los datos de MySQL $pdo = new PDO('mysql:host=' . $host . '; dbname=' . $basededatos, $usuario, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Seleccionamos los datos de la tabla 'zapatos' $sql = "SELECT * FROM zapatos"; $sqlpdo = $pdo->prepare($sql); $sqlpdo->execute(); // Obtenemos los datos while ($row = $sqlpdo->fetch(PDO::FETCH_ASSOC)) { $productos[] = $row; } // Guardamos los datos de MySQL en Redis $redis->set($key, serialize($productos)); } else { // Mostramos los datos de MySQL almacenados en Redis $mensaje = 'Datos Almacenados en Redis'; $productos = unserialize($redis->get($key)); } // Imprimimos el mensaje con los datos en el navegador echo $mensaje . ': <br>'; print_r($productos); |
Vamos al navegador y abrimos la ruta local http://localhost:8080/ y nos aparecerá el siguiente mensaje con los datos de MySQL que vamos a guardar en Redis:
Estando en la misma ruta http://localhost:8080/ actualizamos el navegador para volver a ejecutar el codigo PHP y nos aparece el siguiente mensaje con los datos ya almacenados en Redis:
Si ingresamos a la CLI de Redis y verificamos, podemos ver que se han guardado los datos en Redis sin problema:
1 2 3 4 5 |
127.0.0.1:6379> get productos "a:3:{i:0;a:5:{s:2:\"id\";i:1;s:6:\"nombre\";s:25:\"Zapatos de Cuero Marrones\";s:6:\"precio\";s:5:\"75.00\";s:5:\"stock\";s:2:\"30\";s:10:\"created_at\";s:19:\"2024-01-15 15:28:47\";}i:1;a:5:{s:2:\"id\";i:2;s:6:\"nombre\";s:23:\"Zapatos de Cuero Negros\";s:6:\"precio\";s:5:\"80.00\";s:5:\"stock\";s:2:\"40\";s:10:\"created_at\";s:19:\"2024-01-15 15:28:47\";}i:2;a:5:{s:2:\"id\";i:3;s:6:\"nombre\";s:23:\"Zapatos de Cuero Verdes\";s:6:\"precio\";s:5:\"90.00\";s:5:\"stock\";s:2:\"25\";s:10:\"created_at\";s:19:\"2024-01-15 15:28:49\";}}" 127.0.0.1:6379> |
En la CLI de Redis podemos ver que los datos se han guardado en formato Set, el cual es un tipo de dato de Redis, pero es normal, ya que estamos guardando los datos en la memoria RAM de la computadora.
Conclusión
En este tutorial que consta de 2 partes, has aprendido a Como Usar MySQL, PHP y Redis.
Si practicas mucho los pasos mencionados, llegarás a dominar el uso de Redis con PHP y MySQL y así podrás crear proyectos más complejos.
Nota (s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.