Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2003, 11h30   #1
Candidat au titre de Membre du Club
 
Inscription : février 2003
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 42
Points : 12
Points : 12
Par défaut Comment utiliser un cache ?

J'ai une grosse base (communes de france = 36000) et je voudrais faire un pré-tri par département, car l'opérateur ne travaille que sur un département. Je pense qu'il faudrait que j'utilise un cache afin de ne pas faire mes requêtes sur la base entière mais sur le cache.

Comment-faire ?
TOM-Z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2003, 14h08   #2
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
dans le XMLGram Editor, il suffit de mettre pour un DBextract donné une instruction Cache. on met alors l'ancien DBEXtract en tant que fils du Cache.
Code :
1
2
3
4
5
6
 
  |
  |-Cache
  |   |
  |   |-DBEXtract
  |   |
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2003, 01h27   #3
Candidat au titre de Membre du Club
 
Inscription : février 2003
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 42
Points : 12
Points : 12
Le DBextract doit donc s'effectuer sur le fichier xlm en cache ?

De toute façon je vais essayer demain et je comprendrai peut-être un peu mieux koikispass
TOM-Z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2003, 14h19   #4
Membre éclairé
 
Inscription : janvier 2003
Messages : 284
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 284
Points : 311
Points : 311
Envoyer un message via MSN à Nicolas.Cogi
Par défaut Explication et Conseils pour l'instruction Cache

En gros, l'instruction Cache récupére le fragment XML généré par l'instruction fille (dans l'exemple de RDM, le DBExtract).
Ce fragment est conservé en mémoire.

Voila comment ca se passe :
1er appel : on passe sur l'instruction Cache, qui vérifie si elle a déjà stocké un fragment XML en memoire. C'est le premier appel, donc pas de fragment. Elle execute donc l'instruction fille, le DBExtract. La requete est faite comme d'habitude et le fragment XML resultant de la requete est stocké en memoire, dans un objet global partagé (propriété Cache de XMLCollection pour ceux que ca interesse )

2eme appel : on repasse par l'instruction Cache qui vérifie si elle a déjà stocké un fragment XML en memoire. Cette fois, c'est ok, elle a en mémoire le fragment. Elle reprend donc directement ce fragment et zou ! elle l'ajoute au document XML, sans exécuter l'instruction fille. On gagne donc le temps de l'extraction SQL.

Pour réinitialiser un cache, il suffit de passer dans l'URL le paramètre XMLC_ResetCache=1. Tous les caches présents dans le XMLGram sont réinitialisés.

Le paramètre important pour un Cache est Shared : ca permet de partager le Cache pour toutes les threads de l'application. C'est important, parce que sans ca, un XMLC_ResetCache peut réinitialiser le Cache d'une thread en laissant tranquille les autres threads, ce qui peut donner des comportements étranges . Il faut aussi placer le paramètre XMLC_SharedCache=1 dans les InitParams

Les Cache sont paramètrables : ca permet de stocker en cache des fragments différents selon les paramètres. Par exemple, l'application est multilingue et la tables de références des pays est traduite (United Kingdom, Germany, France en anglais et Royaume-Unis, Allemagne et France en francais). Pour faire l'extraction de ces pays, on a un paramètre indiquant la langue choisie par l'utilisateur. Il faut alors dire que le Cache est fonction du paramètre. Ca permet de stocker le Fragment avec les noms en anglais et un autre fragment avec les noms en Francais.
En gros, tous les paramètres de la requete SQL fille doivent se trouver dans la collection des paramètres du Cache. (sous réserve, c'est un poil plus relatif que ca )

Essayez de nommer tous les caches identiques de la meme maniere par exemple (Name=CacheCOUNTRIES pour tous les caches de la liste des pays). Ca permet de n'avoir qu'un seul fragment XML en mémoire et de le réinitialiser une fois pour toute.

Derniere chose : annexe XMLGram (http://www.xmlrad.com/Manual/Appendix13/index.htm)
et annexe InitParams/GlobalParams (http://www.xmlrad.com/Manual/Appendix14/index.htm)
__________________
Nicolas
Nicolas.Cogi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2003, 09h55   #5
Candidat au titre de Membre du Club
 
Inscription : février 2003
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 42
Points : 12
Points : 12
Ca c'est de la bombe ! Belle démonstration, très pédagogique !

Merci MAÎTRE
TOM-Z est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h53.


 
 
 
 
Partenaires

Hébergement Web