Predis para PHP: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Qué es Predis y para qué sirve

\n\n

Predis es un cliente completo para trabajar con Redis (Remote Dictionary Server) en el lenguaje PHP. Redis es un almacén de datos de alto rendimiento de tipo «clave-valor», que se utiliza a menudo para almacenamiento en caché, gestión de sesiones, colas de mensajes y tiempo real. Predis permite que las aplicaciones PHP se comuniquen con un servidor Redis, enviando comandos y recibiendo respuestas.

\n\n

¿Por qué usar Predis? A diferencia de otros clientes (por ejemplo, phpredis), Predis está escrito completamente en PHP y no requiere la instalación de extensiones C adicionales. Esto lo convierte en la opción ideal para entornos donde no se puede controlar la instalación de extensiones (por ejemplo, en alojamientos compartidos). Predis admite todas las funcionalidades principales de Redis: cadenas, hashes, listas, conjuntos, transacciones, Pub/Sub, agrupación en clústeres y mucho más.

\n\n

Escenarios de uso principales:

\n
    \n
  • Almacenamiento en caché — acelerar el rendimiento del sitio almacenando datos solicitados con frecuencia en la memoria RAM.
  • \n
  • Gestión de sesiones — almacenar las sesiones de los usuarios en Redis para un acceso rápido y escalabilidad.
  • \n
  • Colas de tareas — organizar el procesamiento en segundo plano de tareas utilizando listas de Redis.
  • \n
  • Clasificaciones y contadores — usar conjuntos ordenados para construir tablas de clasificación.
  • \n
  • Pub/Sub — implementar sistemas de mensajería en tiempo real.
  • \n
\n\n

Instalación de Predis

\n\n

Predis se distribuye a través de Composer, el gestor de paquetes estándar para PHP. Asegúrate de tener Composer instalado. Si no es así, descárgalo desde getcomposer.org.

\n\n

Para instalar Predis, ejecuta el siguiente comando en la raíz de tu proyecto:

\n\n
composer require predis/predis
\n\n

Después de la instalación, en tu proyecto aparecerán la carpeta vendor y el archivo composer.json. Para incluir Predis, usa el cargador automático de Composer:

\n\n
require 'vendor/autoload.php';
\n\n

Requisitos mínimos: PHP 7.2 o superior. Predis no requiere la instalación de la extensión Redis para PHP, ya que implementa el protocolo Redis en PHP puro.

\n\n

Inicio rápido con un ejemplo de código

\n\n

Escribamos un script simple que se conecte a Redis, guarde un valor y lo lea.

\n\n
<?php\nrequire 'vendor/autoload.php';\n\nuse Predis\\Client;\n\n// Creamos un cliente Redis (por defecto se conecta a localhost:6379)\n$client = new Client();\n\n// Establecemos un valor\n$client->set('greeting', '¡Hola, Redis!');\n\n// Obtenemos el valor\n$value = $client->get('greeting');\necho $value; // Mostrará: ¡Hola, Redis!\n\n// Verificamos si la clave existe\nif ($client->exists('greeting')) {\n    echo "¡La clave existe!";\n}\n\n// Eliminamos la clave\n$client->del(['greeting']);\n?>
\n\n

Este código hace lo siguiente:

\n
    \n
  1. Se conecta al servidor Redis en localhost (puerto 6379).
  2. \n
  3. Guarda la cadena "¡Hola, Redis!" bajo la clave "greeting".
  4. \n
  5. Lee el valor de vuelta y lo muestra.
  6. \n
  7. Verifica la existencia de la clave.
  8. \n
  9. Elimina la clave.
  10. \n
\n\n

Si Redis se ejecuta en otro host o puerto, pasa los parámetros de conexión:

\n\n
$client = new Client([\n    'scheme' => 'tcp',\n    'host'   => '192.168.1.100',\n    'port'   => 6379,\n]);
\n\n

Métodos principales de Predis

\n\n

Predis proporciona una interfaz conveniente para todos los comandos de Redis. Veamos los 10 métodos más utilizados con ejemplos detallados.

\n\n

1. set — establecer un valor

\n

Qué hace: Establece un valor para la clave especificada. Si la clave ya existe, su valor se sobrescribe.

\n

Parámetros:

\n
    \n
  • $key (string) — nombre de la clave.
  • \n

Recommendations