IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Cache de requêtes MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Cache de requêtes MySQL
    Bonsoir,

    Est-il possible de garder en cache, les résultats de requêtes de manière à ce que si la requête est similaire à un résultat à la cache, MySQL envoie le résultat en cache. Cela rendra rapide les requêtes.

    Si oui, est-ce MySQL dans un intervalle de temps régulier, MySQL pourra mettre à jour seule, les résultats aux requêtes en cache ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 81
    Par défaut
    Bonjour a toi,

    effectivement c'est tout a fait possible et même recommandé d'activer le cache de requete MySQL pour rendre ton site plus fluide en montée en charge.

    Pour l'activer, il te faut modifier le fichier my.cnf de MySQL en rejoutant la directive ci-dessous:
    Bien sur les valeurs sont a titre indicative et a mettre en relation avec ton serveur et la taille d'information que tu veux stocker.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    query_cache_size = 64M
    query_cache_type = 1
    Je te renvois aussi sur la doc MySQL qui explique bien le fonctionnement du cache MySQL:
    http://dev.mysql.com/doc/refman/5.5/en/query-cache.html
    tu as d'autres directives pour gérer plus finement la gestion du cache:
    http://dev.mysql.com/doc/refman/5.5/...ery_cache_type


    Grosso modo le fonctionnement du cache est ainsi:
    La première fois que MySQL trouve un requête qui peut être mise en cache (car tu peux stipuler dans tes requêtes si MySQL la garde en cache ou non avec le mot clef SQL_NO_CACHE a mettre juste après ton SELECT), il génère le résultat puis le stocke ensuite chaque fois que la même requête se présente, MySQL délivre directement le résultat sans la retraité.
    Enfin si tu fais un update sur les données en cache , MySQL va automatiquement mettre a jour le cache avec les nouvelles informations mises à jour.

    Il y a donc une limite à ce mécanisme pour que le cache soit bénéfique a ton site, il faut obligatoirement que tu es plus de requête SELECT que l'insert ou d'update sinon cela ne servira a rien et au contraire MySQL passera son temps a mettre a jour son cache ce qui el ralentira.

Discussions similaires

  1. Requête MYSQL LIKE particulière
    Par TheDarkLewis dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/12/2004, 15h50
  2. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  3. surcharge de requête MySQL
    Par simoryl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2004, 10h43
  4. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo