Predis pour PHP : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Predis et pourquoi en avez-vous besoin

\n\n

Predis est un client complet pour travailler avec Redis (Remote Dictionary Server) en langage PHP. Redis est un stockage de données clé-valeur haute performance, souvent utilisé pour la mise en cache, la gestion des sessions, les files d'attente de messages et le temps réel. Predis permet aux applications PHP d'interagir avec un serveur Redis en envoyant des commandes et en recevant des réponses.

\n\n

Pourquoi utiliser Predis ? Contrairement à d'autres clients (par exemple, phpredis), Predis est entièrement écrit en PHP et ne nécessite pas l'installation d'extensions C supplémentaires. Cela en fait un choix idéal pour les environnements où vous ne pouvez pas contrôler l'installation d'extensions (par exemple, sur les hébergements mutualisés). Predis prend en charge toutes les fonctionnalités principales de Redis : chaînes, hachages, listes, ensembles, transactions, Pub/Sub, clustering et bien plus encore.

\n\n

Principaux cas d'utilisation :

\n
    \n
  • Mise en cache — accélération du site en stockant les données fréquemment demandées en mémoire vive.
  • \n
  • Gestion des sessions — stockage des sessions utilisateur dans Redis pour un accès rapide et une mise à l'échelle.
  • \n
  • Files d'attente de tâches — organisation du traitement en arrière-plan des tâches à l'aide des listes Redis.
  • \n
  • Classements et compteurs — utilisation d'ensembles ordonnés pour construire des classements.
  • \n
  • Pub/Sub — mise en œuvre de systèmes de messagerie en temps réel.
  • \n
\n\n

Installation de Predis

\n\n

Predis est distribué via Composer, le gestionnaire de paquets standard pour PHP. Assurez-vous d'avoir Composer installé. Sinon, téléchargez-le depuis getcomposer.org.

\n\n

Pour installer Predis, exécutez la commande à la racine de votre projet :

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

Après l'installation, un dossier vendor et un fichier composer.json apparaîtront dans votre projet. Pour inclure Predis, utilisez l'autoloader de Composer :

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

Configuration minimale requise : PHP 7.2 ou supérieur. Predis ne nécessite pas l'installation de l'extension Redis pour PHP, car il implémente le protocole Redis en PHP pur.

\n\n

Démarrage rapide avec un exemple de code

\n\n

Écrivons un script simple qui se connecte à Redis, enregistre une valeur et la lit.

\n\n
<?php\nrequire 'vendor/autoload.php';\n\nuse Predis\\Client;\n\n// Création d'un client Redis (par défaut, se connecte à localhost:6379)\n$client = new Client();\n\n// Définition d'une valeur\n$client->set('greeting', 'Bonjour, Redis !');\n\n// Récupération de la valeur\n$value = $client->get('greeting');\necho $value; // Affiche : Bonjour, Redis !\n\n// Vérification de l'existence de la clé\nif ($client->exists('greeting')) {\n    echo "La clé existe !";\n}\n\n// Suppression de la clé\n$client->del(['greeting']);\n?>
\n\n

Ce code fait ce qui suit :

\n
    \n
  1. Se connecte au serveur Redis sur localhost (port 6379).
  2. \n
  3. Enregistre la chaîne "Bonjour, Redis !" sous la clé "greeting".
  4. \n
  5. Lit la valeur et l'affiche.
  6. \n
  7. Vérifie l'existence de la clé.
  8. \n
  9. Supprime la clé.
  10. \n
\n\n

Si Redis est exécuté sur un autre hôte ou port, transmettez les paramètres de connexion :

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

Méthodes principales de Predis

\n\n

Predis fournit une interface pratique pour toutes les commandes Redis. Examinons les 10 méthodes les plus couramment utilisées avec des exemples détaillés.

\n\n

1. set — définition d'une valeur

\n

Ce qu'elle fait : Définit une valeur pour la clé spécifiée. Si la clé existe déjà, sa valeur est écrasée.

\n

Paramètres :

\n
    \n
  • $key (string) — nom de la clé.
  • \n

Recommendations