Curso Básico de Redis – Parte 03 – Redis y PHP

Dificultad: Fácil
Tiempo de Lectura: 4 minutos

Ahora que ya tienes mas conocimientos sobre los comandas de esta base de datos, podemos hacer algo diferente anexando un poco mas de código.

Anteriormente hemos ejecutados los comando a través de la consola de Redis, pero que tal si ahora introducimos Redis a un lenguaje de programación como PHP.

Redis soporta muchos lenguajes de programación, como por ejemplo, C, ActionScript, PHP, Java, Perl, JavaScript (Node) y muchas mas. Hasta las plataformas mas famosas; Twitter, Snapchat, Github, entre otras, utilizan Redis como su base de datos.

Ahora bien, para nuestra prueba nos vamos a saltar ciertos pasos de configuración, por tanto deben tener configurado un webserver, php y git en sus maquinas.

Integrando PHP y Redis con phpredis

Para poder utilizar Redis con php, tenemos que bajar el controlador y así, enlazar Redis en nuestra aplicación. Para ello lo descargamos desde el repositorio de github. Para clonar el repositorio se colocan en el directorio que deseen desde la consola hacen lo siguiente:

git clone https://github.com/phpredis/phpredis.git

Una vez descargado procedemos con la instalación accediendo a la carpeta “phpredis” o la que ustedes hayan definido al momento de la descarga, en este caso yo la deje por defecto.

Para generar las librerías hay que ejecutar unos comandos primero dentro de la carpeta antes mencionada:

phpize 
./configure 
make 
make install

Recuerden que dependiendo del sistema operativo, es como ejecutaran los comandos. Es posible que al momento de ejecutar “phpize” genere un error, en dado caso, primero instalen “php-devel” a través del comando

yum install php-devel

Y luego ejecutan “phpize”. Después de ejecutar todos los comandos tienen que habilitar la extensión de Redis en el php.ini

extension = redis.so

Ahora que ya tenemos listo Redis para trabajar con php. Lo primero que tenemos que hacer es probar la conexión con la base de datos de Redis desde nuestro php. Esto lo podemos hacer la siguiente manera.

<?php 
$bdredis = new Redis(); 
$conn = $bdredis->connect('127.0.0.1', 6379);
if ($conn) {
echo "Conexion exitosa: estas conectado a Redis...";
}else{
echo "No se pudo conectar con la base de datos de Redis :(";
}
?>

Si la conexión es exitosa, te aparecerá el mensaje de “Conexión exitosa: estas conectado a Redis…”, de lo contrario aparecerá el otro mensaje.

Ya que tenemos conectada nuestra base de datos, ahora podemos utilizar los comandos que hemos aprendido en el capitulo anterior. En esta oportunidad vamos a utilizar los comandos de las cadenas de texto, hagamos memoria.

Para utilizar las cadenas de texto teníamos que hacerlo a través de los comandos “set” para asignar y “get” para obtener. Bien, en php hacemos lo mismo pero lo mezclamos con un poco de código de php.

<?php 
$bdredis = new Redis(); 
$conn = $bdredis->connect('127.0.0.1', 6379); 
if ($conn) {
echo "Conexion exitosa: estas conectado a Redis...";
$command=true;
}else{
echo "No se pudo conectar con la base de datos de Redis :(";
}
if ($command) {
// Asignamos los parametros: clave - valor
$bdredis->set("guiadev", "Nuestra pagina de tutoriales favorita"); 
echo "<br>guiadev.com - ".$bdredis->get("guiadev"); 
}
?>

conexión exitosa en Redis

Como pueden observar, hemos aplicado los mismos comandos a través de php y no desde la consola de Redis y de esta manera obtenemos los mismos resultados.

Ahora veamos algunos ejemplo de listas, en esta ocasión son los comando “lpush” y “lrange”.

<?php
$bdredis = new Redis();
$conn = $bdredis->connect('127.0.0.1', 6379);
if ($conn) {
echo "Conexion exitosa: estas conectado a Redis...";
$command=true;
}else{
echo "No se pudo conectar con la base de datos de Redis :(";
}
if ($command) {
$bdredis->lpush("lista-bd", "Redis");
$bdredis->lpush("lista-bd", "Oracle");
$bdredis->lpush("lista-bd", "PostgreSQL");
$bdredis->lpush("lista-bd", "Mysql");
$bdredis->lpush("lista-bd", "Mongo");
$listbd = $bdredis->lrange("lista-bd", 0 ,3);
foreach ($listbd as $nombre) {
echo "<br>".$nombre;
}
}
?>

Así obtenemos los siguientes resultados.

conexión exitosa a base de datos en Redis

Si queremos ver todas las claves que tenemos hasta ahora creadas. Podemos colocar el siguiente código.

<?php
$bdredis = new Redis();
$conn = $bdredis->connect('127.0.0.1', 6379);
if ($conn) {
echo "Conexion exitosa: estas conectado a Redis...";
$command=true;
}else{
echo "No se pudo conectar con la base de datos de Redis :(";
}
if ($command) {
$listaclaves = $bdredis->keys("*"); 
foreach ($listaclaves as $claves) {
echo "<br>".$claves;
}
}
?>

Ejemplo de conexión en Redis

Conclusión

Ya hemos visto como ejecutar comandos desde la consola de Redis y como integrarlos con código php obteniendo los mismos resultados. Si eres de las personas que no son amante a la terminal y quieres utilizar Redis, no te preocupes, Redis se adapta a cualquier lenguaje de programación, haciendo la vida mas fácil.

Nos veremos pronto con nuevos retos en el tutorial 4 y final de nuestro Curso de Introducción a Redis.


¿Te resultó útil el artículo? Compártelo con tus colegas: