Maison base de données tutoriel mysql Conseils de développement PHP : Comment utiliser Redis pour mettre en cache les résultats des requêtes MySQL

Conseils de développement PHP : Comment utiliser Redis pour mettre en cache les résultats des requêtes MySQL

Jul 02, 2023 pm 03:30 PM
php开发 mysql查询 redis缓存

Conseils de développement PHP : Comment utiliser Redis pour mettre en cache les résultats des requêtes MySQL

Introduction :
Pendant le processus de développement Web, la requête de base de données est l'une des opérations courantes. Cependant, des requêtes fréquentes dans la base de données peuvent entraîner des problèmes de performances et affecter la vitesse de chargement des pages Web. Afin d'améliorer l'efficacité des requêtes, nous pouvons utiliser Redis comme cache et placer les données fréquemment interrogées dans Redis, réduisant ainsi le nombre de requêtes vers MySQL et améliorant la vitesse de réponse des pages Web. Cet article présentera les techniques de développement sur la façon d'utiliser Redis pour mettre en cache les résultats des requêtes MySQL et fournira des exemples de code correspondants.

1. Installer et configurer l'extension Redis et PHP Redis
Avant de commencer, nous devons nous assurer que le serveur Redis a été installé et configuré et que l'extension Redis a été installée dans l'environnement PHP.
L'installation et la configuration de Redis peuvent être effectuées en vous référant à la documentation officielle de Redis. L'installation et la configuration de l'extension PHP Redis peuvent être complétées par les étapes suivantes :

  1. Téléchargez et décompressez le code source de Redis : wget. http://download.redis.io /releases/redis-x.x.x.tar.gz (x.x.x est le numéro de version correspondant) ;
  2. wget http://download.redis.io/releases/redis-x.x.x.tar.gz(x.x.x为相应的版本号);
  3. 进入Redis源代码目录并编译:cd redis-x.x.x && make
  4. 安装Redis:sudo make install
  5. 进入PHP Redis扩展源代码目录并编译:cd redis-x.x.x/ext/redis && phpize
  6. 安装PHP Redis扩展:sudo ./configure && sudo make && sudo make install
  7. 在php.ini文件中添加以下配置:extension=redis.so
  8. 重启Web服务器:sudo service nginx restart

二、缓存MySQL查询结果到Redis
下面是一个示例代码,展示了如何使用Redis缓存MySQL查询结果。

<?php
// 连接MySQL数据库
$mysqli = new mysqli("localhost", "username", "password", "database");

// 判断MySQL连接是否成功
if ($mysqli->connect_error) {
    die("连接MySQL数据库失败:" . $mysqli->connect_error);
}

// 查询语句
$query = "SELECT * FROM users";
$cacheKey = md5($query); // 生成缓存的唯一键

// 尝试从Redis中获取缓存数据
$redis = new Redis();
$redis->connect("127.0.0.1", 6379); // Redis服务器地址和端口

$data = $redis->get($cacheKey);
if ($data !== false) {
    // 如果缓存数据存在,则直接输出
    echo $data;
    exit;
}

// 如果缓存数据不存在,则从MySQL中查询数据并存入Redis中
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
    $rows = array();
    while ($row = $result->fetch_assoc()) {
        $rows[] = $row;
    }
    $data = json_encode($rows);

    // 将数据存入Redis,并设置缓存过期时间(单位:秒)
    $redis->setex($cacheKey, 600, $data); // 这里设置了缓存时间为10分钟

    // 输出数据
    echo $data;
} else {
    echo "没有找到数据";
}

// 关闭MySQL数据库连接
$mysqli->close();

// 关闭Redis连接
$redis->close();
?>
Copier après la connexion

三、代码解析与优化
上述示例代码中,首先通过MySQLi连接MySQL数据库,并执行查询语句。然后,进行缓存查询结果的操作。

在缓存查询结果之前,我们需要判断Redis中是否已经存在缓存数据。通过$redis->get($cacheKey)方法可以获取缓存数据,如果返回值不为false,则说明缓存数据存在,直接输出缓存数据即可。否则,表示缓存数据不存在,需要从MySQL中查询数据,并将查询结果存入Redis中。

在将查询结果存入Redis之前,我们将查询结果转换为JSON格式,并使用$redis->setex($cacheKey, 600, $data)方法将数据存入Redis。setexEntrez le répertoire du code source Redis et compilez : cd redis -x.x.x && make;

Installer Redis : sudo make install;

Entrez le répertoire du code source de l'extension PHP Redis et compilez : cd redis- x.x.x/ext/redis && phpize ;

Installez l'extension PHP Redis : sudo ./configure && sudo make && sudo make install;

Ajoutez ce qui suit configuration dans le fichier php.ini : extension= redis.so;
Redémarrez le serveur web : sudo service nginx restart.

2. Mettre en cache les résultats des requêtes MySQL dans Redis

Ce qui suit est un exemple de code qui montre comment utiliser Redis pour mettre en cache les résultats des requêtes MySQL.

rrreee🎜3. Analyse et optimisation du code🎜Dans l'exemple de code ci-dessus, connectez-vous d'abord à la base de données MySQL via MySQLi et exécutez l'instruction de requête. Ensuite, effectuez l’opération de mise en cache des résultats de la requête. 🎜🎜Avant de mettre en cache les résultats de la requête, nous devons déterminer si les données mises en cache existent déjà dans Redis. Les données mises en cache peuvent être obtenues via la méthode $redis->get($cacheKey). Si la valeur de retour n'est pas false, cela signifie que les données mises en cache existent, et les données mises en cache peuvent être sorties directement. Sinon, cela signifie que les données mises en cache n'existent pas et que vous devez interroger les données depuis MySQL et stocker les résultats de la requête dans Redis. 🎜🎜Avant de stocker les résultats de la requête dans Redis, nous convertissons les résultats de la requête au format JSON et utilisons la méthode $redis->setex($cacheKey, 600, $data) pour stocker les données dans Redis . Le premier paramètre de la méthode setex est le nom de la clé, le deuxième paramètre est le délai d'expiration du cache et le troisième paramètre est les données qui doivent être stockées. 🎜🎜Selon les besoins réels, des clés de cache uniques peuvent être générées sur la base de différentes instructions de requête, ce qui garantit que chaque résultat de requête peut être correctement stocké dans Redis. 🎜🎜4. Conclusion🎜En utilisant Redis pour mettre en cache les résultats des requêtes MySQL, vous pouvez réduire efficacement le nombre de requêtes vers MySQL et améliorer la vitesse de réponse des applications Web. Dans le développement réel, la technologie de mise en cache Redis peut être utilisée de manière flexible en fonction de circonstances spécifiques pour améliorer les performances du système et l'expérience utilisateur. 🎜🎜(Nombre total de mots : 807)🎜

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser Memcache dans le développement PHP ? Comment utiliser Memcache dans le développement PHP ? Nov 07, 2023 pm 12:49 PM

Dans le développement Web, nous devons souvent utiliser une technologie de mise en cache pour améliorer les performances du site Web et la vitesse de réponse. Memcache est une technologie de mise en cache populaire qui peut mettre en cache n'importe quel type de données et prend en charge une simultanéité élevée et une haute disponibilité. Cet article explique comment utiliser Memcache dans le développement PHP et fournit des exemples de code spécifiques. 1. Installer Memcache Pour utiliser Memcache, nous devons d'abord installer l'extension Memcache sur le serveur. Dans le système d'exploitation CentOS, vous pouvez utiliser la commande suivante

Apprenez étape par étape à développer votre propre site Web de forum en utilisant PHP Apprenez étape par étape à développer votre propre site Web de forum en utilisant PHP Oct 28, 2023 am 08:23 AM

Avec le développement rapide d'Internet et la demande croissante d'échange d'informations, les sites de forum sont devenus une plate-forme sociale en ligne courante. Développer votre propre site Web de forum peut non seulement répondre à vos propres besoins personnalisés, mais également fournir une plate-forme de communication et de partage, bénéficiant à un plus grand nombre de personnes. Cet article vous apprendra étape par étape comment utiliser PHP pour développer votre propre site Web de forum. J'espère qu'il sera utile aux débutants. Tout d’abord, nous devons clarifier certains concepts et préparatifs de base. PHP (HypertextPreproces

Comment développer un site de réservation d'hôtel en utilisant PHP Comment développer un site de réservation d'hôtel en utilisant PHP Oct 28, 2023 am 08:19 AM

Comment utiliser PHP pour développer un site de réservation d'hôtel Avec le développement d'Internet, de plus en plus de personnes commencent à organiser leur voyage via la réservation en ligne. En tant que l'un des services de réservation en ligne les plus courants, les sites Web de réservation d'hôtels offrent aux utilisateurs un moyen pratique et rapide de réserver des hôtels. Cet article explique comment utiliser PHP pour développer un site Web de réservation d'hôtel, vous permettant de créer et d'exploiter rapidement votre propre plateforme de réservation d'hôtel en ligne. 1. Analyse des exigences du système Avant de commencer le développement, nous devons d'abord effectuer une analyse des exigences du système pour clarifier ce que doit avoir le site Web que nous voulons développer.

Exploration de l'application de Redis dans l'Internet des objets Exploration de l'application de Redis dans l'Internet des objets Nov 07, 2023 am 11:36 AM

Exploration de l'application de Redis dans l'Internet des objets À l'ère actuelle de développement rapide de l'Internet des objets (IoT), un grand nombre d'appareils sont connectés entre eux, nous fournissant de riches ressources de données. À mesure que l’application de l’Internet des objets se généralise, le traitement et le stockage de données à grande échelle sont devenus des problèmes urgents qui doivent être résolus. En tant que système de stockage de données en mémoire hautes performances, Redis possède d'excellentes capacités de traitement des données et une faible latence, apportant de nombreux avantages aux applications IoT. Redis est un open

Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Apr 03, 2025 am 12:04 AM

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment utiliser PHP pour développer une plateforme de services de tutorat en ligne Comment utiliser PHP pour développer une plateforme de services de tutorat en ligne Oct 28, 2023 am 09:01 AM

Comment utiliser PHP pour développer une plateforme de services de tutorat en ligne Avec le développement rapide d'Internet, les plateformes de services de tutorat en ligne ont attiré de plus en plus l'attention et la demande. Les parents et les étudiants peuvent facilement trouver des tuteurs appropriés grâce à une telle plateforme, et les tuteurs peuvent également mieux démontrer leurs capacités et avantages pédagogiques. Cet article explique comment utiliser PHP pour développer une plateforme de services de tutorat en ligne. Tout d’abord, nous devons clarifier les exigences fonctionnelles de la plateforme. Une plateforme de services de tutorat en ligne doit avoir les fonctions de base suivantes : Système d'inscription et de connexion : les utilisateurs peuvent

Comment implémenter le contrôle de version et la collaboration de code dans le développement PHP ? Comment implémenter le contrôle de version et la collaboration de code dans le développement PHP ? Nov 02, 2023 pm 01:35 PM

Comment implémenter le contrôle de version et la collaboration de code dans le développement PHP ? Avec le développement rapide d'Internet et de l'industrie du logiciel, le contrôle de version et la collaboration en matière de code dans le développement de logiciels sont devenus de plus en plus importants. Que vous soyez un développeur indépendant ou une équipe de développement, vous avez besoin d'un système de contrôle de version efficace pour gérer les modifications de code et collaborer. Dans le développement PHP, il existe plusieurs systèmes de contrôle de version couramment utilisés, tels que Git et SVN. Cet article expliquera comment utiliser ces outils pour le contrôle de version et la collaboration de code dans le développement PHP. La première étape est de choisir celui qui vous convient

Comment utiliser PHP pour développer la fonction coupon du système de commande ? Comment utiliser PHP pour développer la fonction coupon du système de commande ? Nov 01, 2023 pm 04:41 PM

Comment utiliser PHP pour développer la fonction coupon du système de commande ? Avec le développement rapide de la société moderne, le rythme de vie des gens s'accélère de plus en plus et de plus en plus de gens choisissent de manger au restaurant. L'émergence du système de commande a considérablement amélioré l'efficacité et la commodité des commandes des clients. En tant qu'outil marketing pour attirer les clients, la fonction coupon est également largement utilisée dans divers systèmes de commande. Alors comment utiliser PHP pour développer la fonction coupon du système de commande ? 1. Conception de la base de données Tout d'abord, nous devons concevoir une base de données pour stocker les données relatives aux coupons. Il est recommandé de créer deux tables : une

See all articles