Redis est une base de données clé-valeur hautes performances basée sur la mémoire qui peut être utilisée dans divers scénarios tels que la mise en cache et la mise en file d'attente. PHP est un langage de développement qui peut être utilisé dans divers scénarios tels que le développement Web et les services back-end. Si nous pouvons combiner PHP et Redis, nous pouvons obtenir de meilleures performances et de meilleurs effets.
Cet article présentera comment utiliser PHP pour faire fonctionner la base de données Redis, y compris les opérations de base de Redis (telles que le stockage et la lecture de données, l'utilisation de listes, de tables de hachage et d'autres types de données), ainsi que certaines techniques avancées (telles que Transactions Redis, persistance, clustering, etc.).
1. Installez l'extension Redis et connectez-vous à la base de données Redis
Avant de démarrer l'opération, vous devez vous assurer que l'extension phpredis a été installée dans votre environnement PHP. Il peut être installé via la commande suivante :
pecl install redis
Une fois l'installation terminée, vous devez ajouter la configuration suivante au fichier php.ini :
extension=redis.so
Redémarrez ensuite le service PHP, et vous pourrez utiliser l'extension Redis dans le Code PHP.
Ensuite, nous devons nous connecter à la base de données Redis. Vous pouvez créer un client Redis via le code suivant :
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 连接到Redis
Ici, nous utilisons la méthode connect de la classe Redis pour nous connecter au service Redis local, et le numéro de port est le 6379 par défaut. Si vous devez vous connecter à d'autres services Redis, vous pouvez modifier l'adresse IP et le numéro de port avec les valeurs correspondantes.
2. Opérations de base de Redis
Redis est une base de données clé-valeur, qui peut stocker et lire des données via les méthodes set et get :
$redis->set('name', 'Tom'); echo $redis->get('name'); // 输出:Tom
Ici, nous utilisons la méthode set pour associer une clé nommée nom d'une chaîne avec la valeur Tom. Ensuite, utilisez la méthode get pour obtenir la valeur de la clé de nom et la générer.
Il existe également un type de données dans Redis appelé liste, qui peut être exploité via des méthodes telles que lpush et lrange. Par exemple, nous pouvons créer une liste grâce au code suivant et insérer trois éléments dans sa tête :
$redis->lpush('list', 'a', 'b', 'c');
Ensuite, nous pouvons obtenir tous les éléments de la liste via la méthode lrange et les afficher :
$list = $redis->lrange('list', 0, -1); foreach ($list as $item) { echo $item . " "; } // 输出:c b a
Ici, nous utilisons le lrange pour obtenir tous les éléments de la liste, et le résultat renvoyé est un tableau de chaînes ordonnées.
Un autre type de données dans Redis est appelé table de hachage, qui peut être exploitée via des méthodes telles que hset et hget. Par exemple, nous pouvons créer une table de hachage via le code suivant et y insérer deux paires clé-valeur :
$redis->hset('hash', 'name', 'Tom'); $redis->hset('hash', 'age', 20);
Ensuite, nous pouvons obtenir la valeur d'une clé dans la table de hachage via la méthode hget et la sortir :
echo $redis->hget('hash', 'name'); // 输出:Tom echo $redis->hget('hash', 'age'); // 输出:20
Ici, nous utilisons la méthode hget pour obtenir les valeurs des clés name et age dans la table de hachage et les afficher.
3. Compétences avancées de Redis
Dans Redis, les opérations de transaction peuvent être effectuées via des méthodes telles que multi et exec. De cette manière, plusieurs opérations peuvent être exécutées dans leur ensemble, et soit elles réussissent toutes, soit elles échouent toutes et sont annulées.
Par exemple, nous pouvons créer une transaction via le code suivant et y ajouter deux opérations :
$redis->multi(); $redis->set('name', 'Tom'); $redis->set('age', 20); $redis->exec();
Ensuite, ces deux opérations seront exécutées dans leur ensemble, si une erreur se produit dans l'une des opérations, alors la transaction entière sera annulé.
Redis prend en charge deux méthodes de persistance, à savoir RDB et AOF. RDB est une sorte de persistance d'instantanés, qui peut enregistrer périodiquement les données de la mémoire Redis sur le disque sous forme d'instantanés. AOF est une persistance basée sur l'ajout qui peut enregistrer toutes les opérations d'écriture effectuées par Redis et les sauvegarder sur le disque sous forme de journaux.
Vous pouvez utiliser le code suivant pour configurer le mode de persistance de Redis :
$redis->config('set', 'save "900 1" "300 10"'); // RDB持久化配置 $redis->config('set', 'appendonly yes'); // AOF持久化配置
Ici, nous utilisons la méthode de configuration pour définir le mode de persistance de Redis, définir l'intervalle de persistance RDB sur 900 secondes et enregistrer un fichier RDB sur le disque ; la persistance AOF est activée et les opérations d’écriture sont enregistrées et ajoutées au fichier AOF.
Dans Redis, le déploiement distribué peut être réalisé via une méthode appelée Redis Cluster. Redis Cluster combine plusieurs instances Redis dans un cluster et les données peuvent être stockées dans différentes instances tout en garantissant une haute disponibilité et une cohérence.
Vous pouvez utiliser le code suivant pour vous connecter au cluster Redis :
$redis = new RedisCluster(NULL, ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7002']);
Ici, nous utilisons le constructeur de la classe RedisCluster pour nous connecter à un cluster Redis contenant trois nœuds, qui peut être exploité comme une seule instance Redis.
Résumé
Cet article présente comment utiliser PHP pour faire fonctionner la base de données Redis, y compris les opérations de base de Redis et quelques techniques avancées. En comprenant ces opérations, nous pouvons mieux utiliser les avantages de Redis et améliorer les performances et l'effet des applications Web. Dans le même temps, il convient de noter que les développeurs doivent également utiliser de manière flexible diverses fonctions de Redis en fonction des besoins réels pour obtenir de meilleurs résultats.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!