-
    Techniques et conseils

Note: L'ensemble des "Tips of the Week" de l'éditeur OmniPilot sont régulièrement traduits chaque semaine. Vous les retrouvez ci-après

LISTE DES TUTORIAUX

Formatage de nombres et calculs FileMaker Pro sous Lasso

Passer facilement de FileMaker Pro CDML à Lasso Professional 8

Outil de Maintenance MySQL

Indicateur de progression - Progress bar

Uploads de fichiers sous Lasso Professional 8

Utilisation des arrays pour la création d'inlines dynamiques

Balises de gestion du Cache

Méthodes d'appel des balises

Encryption de données

Notions de Sessions

Gestion des erreurs

Pages d'erreur customisées

Variables globales

Optimisations de MySQL

Symboles d'assignation mathématiques

Expression régulières (Nettoyage du texte)

Expressions régulières (Rechercher/remplacer)

Expressions régulières (principes de base)

Optimisez votre code HTML en utilisant les balises [Loop] et [Iterate]

Utilisation des boucles (Loops)

Utilisation de la balise [Action_Params]

Techniques de commentaires


     
Blueworld, Windows Server 2003, Windows XP, RedHat, Linux, Mac OS X, MACOS, Apache, MySQL, FIlemaker Pro

Edité par OmniPilot Software, Lasso Professional fonctionne sous Windows 2000/2003/XP et Linux RedHat et Apache Server - Il s'intègre parfaitement à MySQL™ et FileMaker Pro™ ainsi que toutes autres bases de données
     




Déposez votre nom de domaine avec ELIDEE

Sujet:Balises de gestion du Cache

Résumé:
Cet article discute comment les balises de cache dans Lasso Professional 7 peuvent être utilisées pour servir des pages plus rapidement et réduire les accès aux bases de données.

Contenu:
Lasso Professional 7 inclut un usage simple des balises [Cache] lesquelles permettent à une portion de page d'être mise en mémoire cache automatiquement. Cet article fournit des informations sur leur utilisation mais aussi dans quelle circonstances elles doivent être utilisées dans une page.

Aperçu

Lasso procède une page depuis son sommet jusqu'à la fin en procédant toutes les balises qu'il rencontre. Chaque page est procédée entièrement à chaque fois qu'elle est appelée y compris les actions aux bases de données qu'elle contient. Si une page contient beaucoup d'appels aux bases de données ou des appels très complexes alors la page LDML peut être un certain temps à être procédée. Comme Lasso va effectuer à chaque fois les mêmes process il va y avoir une duplication du travail effectué et un chargement significatif de données depuis leur source.

Les balises cache aident à réduire le volume de travail que Lasso doit exécuter pour exécuter une page et aident à réduire le volume de données chargées depuis les sources. Les balises cache sont les plus utiles lorsque les actions aux bases mettent plus de 100 milli-secondes à être procédées ou pour une source de données comme FileMaker qui peut s'avérer un goulot d'étranglement lorsque plusieurs requêtes concurrentes sont alors servies par Lasso.

Les balises [Cache] ... [/Cache] fonctionnent de manière très simple. La balise ouvrante requiert deux paramètres: un -Name pour le nom du cache qui doit être unique et un -Expires qui est le temps de durée du cache exprimé en secondes. Le contenu des balises [Cache] ... [/Cache] est automatiquement mis en cache lors du premier chargement de la page. Les données sont ainsi stockées en cache durant la durée précisée. Lors d'un prochain chargement de la page le temps d'expiration est comparé à celui stocké. Si cette durée excède le temps d'expiration alors le nouveau résultat sera stocké en cache en lieu et place du précédent, dans le cas contraire c'est le contenu du cache qui sera servit.

Récupérer un contenu mis en cache peut mettre jusqu'à 100 milliseconds. Ceci signifie que cela n'est utile que pour tout contenu qui mettrait plus de 100 milli-secondes à être généré. Passez au paragraphe "Quand utiliser le cache" pour du code qui vous permettra de vérifier le temps qu'il a fallu à une page donnée pour être générer et ainsi voir si utiliser du cache est utile.

Exemple

Dans l'exemple suivant une liste des dix sites les plus visités sont présentés. Le site est structuré avec une base de données qui stocke un enregistrement à chaque fois qu'un internaute clique sur le lien d'un site donné. Cette base statistique devient très importante et requiert beaucoup de requêtes pour être exploitée. Même dans MySQL, accéder à ce type de base de manière répétitive peut conduire à des soucis de performance.

Les balises [Cache] ... [/Cache] sont utilisées pour restreindre la régénération systématique de la liste "top ten" à seulement une fois par heure. Cela signifie que le premier visiteur du jour va générer une nouvelle liste top-ten. Lorsque le jour va progresser la liste top-ten ne sera régénérée que par le premier visiteur passant sur la page plus d'une heure après. Sur un site très consulté la liste pourra être générée toutes les heures.

[Cache: -Name='toptenezines', -Expires=(60 * 60)]
  [Inline: -database='ezines',
      -sql='SELECT ezines.title,COUNT(stats.id) AS count
        FROM ezines
        LEFT JOIN stats ON ezines.id = stats.ezine_id
        GROUP BY ezines.id
        ORDER BY count DESC
        LIMIT 10']
    <b>Top Ten Ezines</b><br>
    [Records]
      [11 - Loop_Count] [Field: 'title']<br>
    [/Records]
    <i>As of [Date]<i>
  [/Inline]
[/Cache]

Quand utiliser les fonctions de Cache ?

Bien sûr les balises de cache ne sont utiles que si elles produisent les données plus vite que si vous y accédiez depuis votre source de données de manière classique. Connaissant la rapidité avec laquelle MySQL va fournir le résultat d'une requête il sera souvent préférable de laisser le code s'exécuter normalement. En utilisant le cache interne de MySQL, la source de données peut retourner les résultats d'une requête très rapidement lors de requêtes répétitives.

Les balises de cache peuvent être les plus utiles sur un serveur très chargé en requêtes, lorsque les tables qui sont utilisées sont mises à jour par des insertions d'enregistrements (ce qui interrompt le cache de requêtes de MySQL), lorsque vous utilisez des joins et des calculs ce qui augmente de manière significative les temps de traitement sur la source de données, lorsqu'une base de données est accédée à distance et ne peut être atteinte parfois, ou lorsque une source de données produisant un goulot d'étranglement est utilisée (cela peut être le cas souvent pour FileMaker).

Pour calculer le temps pris par les balises [Cache] ... [/Cache] pour regénérer le contenu du code qu'elles contiennent ou pour le récupérer du cache les variables qui stockent ce temps [_date_msec] peuvent être utilisées. En enregistrant le temps pris entre les balises ouvrantes et fermantes le temps pris peut ainsi être calculé.

[Var: 'cache_start' = _date_msec]
[Cache: -Name='toptenezines', -Expires=(60 * 60)]
  [Var: 'gen_start' = _date_msec]
  [Inline: -Database='ezines', -SQL=' ... ']
    <b>Top Ten Ezines</b><br>
    [Records]
      [11 - Loop_Count] [Field: 'title']<br>
    [/Records]
    <i>As of [Date]<i>
    [Var: 'gen_end' = _date_msec]
  [/Inline]
[/Cache]
[Var: 'cache_end' = _date_msec]

<hr>[protect]Cache: [$cache_end - $cache_start] msec[/protect]
<br>[protect]Generate: [$gen_end - $gen_start] msec[/protect]

La première fois que ce code est exécuté à la fois le temps pris par le cache et la génération classique seront reportés. Le temps rapporté affiche le temps qu'il aura fallu pour exécuter l'inline. Pour bénéficier d'un apport par l'utilisation des balises de cache ce temps doit être supérieur à 100 msec. Lorsque la page est rechargée seul le temps mis par le cache sera rapporté. Ce temps peut varier de 60 à 100 msec. Bien sûr ces nombres vont varier selon votre configuration matérielle et l'utilisation massive ou pas de ce serveur.


Autres balises

A côté des simples balises [Cache] ... [/Cache] Lasso supporte également un variété de balises permettant à tout type de données d'être stockées, permettant de vérifier le contenu des données mises en cache, et permettant d'expirer ces données ou de les raffraichir explicitement. L'utilisation de ces balises est couverte en détail dans la documentation de Lasso.

Plus d'information

Plus d'informations sur ces balises cache peuvent être trouvées dans le manuel Lasso 7 Language Guide ou sur le site LDML Reference.

Produit:    Lasso Professional
Plateformes:    Mac OS X, Windows 2000, Windows XP, Windows 2003, Red Hat Linux
Version:    7.x
Auteur:    Fletcher Sandbeck - OmniPilot Software, Inc.


     
Retour accueil
Lasso Studio
Lasso Professional
Communiqués Presse
Tutoriaux
Lasso & Filemaker
Evaluation gratuite
Hébergement Lasso/MySQL
Revendeurs
Historique logiciel
Tarifs - Commander
Nous contacter
     

Notre numéro de téléphone : +33 5 57 22 89 35

Hébergement mutualisé Lasso




Hébergement et location de baies de serveurs et Transit IP par ELIDEE


-  Accueil  -  Développer avec Lasso Studio  -  Déployer avec Lasso Professional  --
Administration du site webmaster@elidee.com | Copyright 2004-2010, Elidée SARL. Tous droits réservés
Toutes les marques citées sont déposées par leur propriétaire respectif