COMO USAR REDIS CON PHP

Redis es una base de datos en memoria que se utiliza como caché, cola de mensajes o almacenamiento de datos clave-valor. Usar Redis con PHP puede ser útil para mejorar el rendimiento y la escalabilidad de aplicaciones web. A continuación, se explica como usar usar Redis con PHP.El uso de Redis es parecido a memcached aunque permite hacer muchas más cosas.
Los valores clave pueden ser cadenas simples, como en memcached, pero también pueden ser tipos más complejos como:
  • Hashes
  • Listas
  • Conjuntos ordenados o no ordenados
Todo los datos se guardan en la memoria por lo que es bastante rápido. Redis también se puede usar almacenar sesiones de php.
Algunos ejemplos de redis:

// Crear una instancia de Redis
$redis = new Redis();

try {
    // Conectar a Redis en localhost y puerto 6379 (por defecto)
    $redis->connect('127.0.0.1', 6379);
    echo "Conexión exitosa a Redis
"; // Guardar un valor en Redis $redis->set("clave", "Hola, Redis!"); // Recuperar el valor de Redis $valor = $redis->get("clave"); echo "El valor almacenado es: " . $valor . "
"; // Configurar un valor con tiempo de expiración (TTL) $redis->setex("temporal", 10, "Este valor expira en 10 segundos"); echo "Valor temporal guardado.
"; // Verificar si la clave existe if ($redis->exists("clave")) { echo "La clave 'clave' existe en Redis.
"; } else { echo "La clave 'clave' no existe en Redis.
"; } $claves = $redis->keys('*'); $redis->mset(array('clave:1 => 'Valor1', 'clave:2' => 'valor2', 'clave:3' => 'valor23')); $claves = $redis->keys('clave:*'); // Eliminar una clave $redis->del("clave"); echo "Clave 'clave' eliminada.
"; } catch (Exception $e) { echo "Error al conectar a Redis: " . $e->getMessage(); }
Explicación del ejemplo anterior:
  • new Redis(): Crea una instancia de Redis para interactuar con el servidor.
  • connect: Establece la conexión con el servidor Redis. Usa la IP y el puerto (por defecto 127.0.0.1 y 6379).
  • set y get: Almacena un valor en Redis (set) y recupera el valor almacenado (get).
  • setex: Guarda un valor con tiempo de expiración (en segundos).
  • exists: Comprueba si una clave específica existe en Redis.
  • keys('*'): Devuelve todas las claves guardadas en Redis.
  • mset: Guarda múltiples hashes en Redis.
  • keys('clave:*'): Recupera múltiples hashes en Redis, que empiecen por "clave:".
  • del: Elimina una clave de Redis.
Los ejemplos que he puesto son bastantes sencillos pero hay más posibilidades.
También podéis aprender como usar sesiones con redis en php y como usar memcached en php.