Utiliser Redis dans ThinkPHP6
Avec le développement de la technologie Internet, de plus en plus de sites Web et d'applications doivent gérer un grand nombre de requêtes simultanées et de stockage de données. Il devient donc de plus en plus important d'utiliser des solutions efficaces de mise en cache et de stockage des données. Redis est une base de données en mémoire hautes performances largement utilisée dans la mise en cache des données, la gestion de sessions et d'autres scénarios dans le domaine Internet. Cet article présente principalement comment utiliser Redis dans ThinkPHP6.
1. Installation et configuration de Redis
Tout d'abord, il existe deux façons d'installer Redis sur un système Windows L'une consiste à télécharger le package compressé Redis et à le décompresser, puis à démarrer le fichier exe, et l'autre consiste à l'utiliser. le gestionnaire de paquets Chocolatey pour l'installer.
Si vous avez déjà installé Chocolatey, vous pouvez utiliser la commande suivante pour installer Redis :
choco install redis-64
Une fois l'installation terminée, vous devez le configurer. Recherchez le fichier redis.windows.conf dans le répertoire d'installation de Redis et modifiez le bind et le mode protégé par la configuration suivante :
bind 0.0.0.0 protected-mode no
Cela permettra à Redis d'écouter toutes les adresses IP et de désactiver le mode protégé, ce qui facilite notre développement. et les tests.
2. Extension Redis dans ThinkPHP6
L'extension Redis de ThinkPHP6 est développée sur la base du package d'extension PHP predis. Vous devez ajouter les dépendances suivantes dans le fichier composer.json avant utilisation :
"predis/predis": "^1.1"
Ensuite, utilisez composer pour installer :
composer update
Installation Une fois terminé, créez le fichier de configuration redis.php dans le répertoire de configuration et ajoutez le contenu suivant :
return [ 'default' => [ 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', 'database' => 0, 'prefix' => '', 'timeout' => 5, ], ];
Les informations de connexion par défaut de Redis sont configurées ici, y compris l'adresse IP, le numéro de port, le mot de passe d'authentification, le numéro de base de données. , etc. du serveur Redis.
3. Utilisation de base de Redis
Dans ThinkPHP6, vous pouvez obtenir une instance Redis via le code suivant :
use thinkacadeCache; $redis = Cache::store('redis')->handler();
Parmi eux, le pilote de cache est spécifié comme Redis via Cache::store, puis l'instance Redis est obtenue via la méthode du gestionnaire.
Ensuite, nous pouvons effectuer les opérations suivantes sur Redis.
3.1. Configuration et obtention du cache
// 设置缓存 $redis->set('name', 'Tom', 60); // 获取缓存 $name = $redis->get('name');
Un cache nommé name est défini ici, la valeur est Tom et la période de validité est de 60 secondes. Ensuite, récupérez la valeur mise en cache via la méthode get.
3.2. Supprimer le cache
// 删除缓存 $redis->del('name');
Ici, le cache de noms est supprimé via la méthode del.
3.3. Déterminer si le cache existe
// 判断缓存是否存在 if ($redis->exists('name')) { echo '缓存存在'; } else { echo '缓存不存在'; }
Ici, nous utilisons la méthode exist pour déterminer si le cache de noms existe.
4. Applications avancées de Redis
En plus des opérations de mise en cache de base, Redis prend également en charge les opérations sur les types de données tels que les hachages, les listes, les ensembles et les ensembles ordonnés. Voici quelques applications avancées couramment utilisées.
4.1. Opération de table de hachage
// 设置哈希表 $redis->hset('user', 'name', 'Tom'); $redis->hset('user', 'age', 18); // 获取哈希表 $user = $redis->hgetall('user'); $name = $redis->hget('user', 'name'); $age = $redis->hget('user', 'age');
Ici, une table de hachage nommée user est configurée via la méthode hset, qui contient deux champs : nom et âge. Obtenez ensuite les données de l'intégralité de la table de hachage via la méthode hgetall, et obtenez respectivement les valeurs des champs nom et âge via la méthode hget.
4.2. Opération de liste
// 添加列表元素 $redis->rpush('list', 'a'); $redis->rpush('list', 'b'); $redis->rpush('list', 'c'); // 获取列表元素 $list = $redis->lrange('list', 0, -1); // 弹出列表元素 $value = $redis->lpop('list');
Ici, trois éléments a, b et c sont ajoutés à la liste nommée list via la méthode rpush, puis tous les éléments de la liste sont obtenus via la méthode lrange et le premier élément du La liste apparaît via la méthode lpop d'un élément.
4.3. Opération d'ensemble
// 添加集合元素 $redis->sadd('set', 'a'); $redis->sadd('set', 'b'); $redis->sadd('set', 'c'); // 获取集合元素 $set = $redis->smembers('set'); // 删除集合元素 $redis->srem('set', 'a');
Ici, trois éléments a, b et c sont ajoutés à l'ensemble nommé set via la méthode sadd, puis tous les éléments de l'ensemble sont obtenus via la méthode smembers, et un certain élément dans le set est supprimé via la méthode srem.
4.4.Opération d'ensemble ordonné
// 添加有序集合元素 $redis->zadd('zset', 60, 'a'); $redis->zadd('zset', 70, 'b'); $redis->zadd('zset', 80, 'c'); // 获取有序集合元素 $zset = $redis->zrange('zset', 0, -1); // 修改有序集合分数 $redis->zincrby('zset', 10, 'a');
Ici, trois éléments a, b et c sont ajoutés à l'ensemble ordonné nommé zset via la méthode zadd. Les scores de chaque élément sont respectivement de 60, 70 et 80. Utilisez ensuite la méthode zrange pour obtenir tous les éléments de l'ensemble ordonné, en les triant en fonction de leurs scores de petit à grand. Enfin, le score d'un élément peut être augmenté ou diminué grâce à la méthode zincrby.
5. Résumé
Cet article explique comment utiliser Redis dans ThinkPHP6 et présente quelques applications de base et avancées de Redis. Grâce à ces opérations, vous pouvez améliorer les capacités de traitement simultané et les performances de stockage des données des sites Web et des applications, ainsi que l'expérience et la satisfaction des utilisateurs.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

Comment effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

Redis utilise des tables de hachage pour stocker les données et prend en charge les structures de données telles que les chaînes, les listes, les tables de hachage, les collections et les collections ordonnées. Redis persiste les données via des instantanés (RDB) et ajoutez les mécanismes d'écriture uniquement (AOF). Redis utilise la réplication maître-esclave pour améliorer la disponibilité des données. Redis utilise une boucle d'événement unique pour gérer les connexions et les commandes pour assurer l'atomicité et la cohérence des données. Redis définit le temps d'expiration de la clé et utilise le mécanisme de suppression paresseux pour supprimer la clé d'expiration.

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

Redis, en tant que Message Middleware, prend en charge les modèles de consommation de production, peut persister des messages et assurer une livraison fiable. L'utilisation de Redis comme Message Middleware permet une faible latence, une messagerie fiable et évolutive.
