Mise en cache des données

Par défaut les cartes Web KE mettent des données en mémoire cache dans le but d'éviter l'interrogation répétitive des sources de données. Cela accroît la vitesse de réponse et réduit la charge sur la base de données elle-même. La mémoire cache s'auto nettoie : typiquement toute donnée mise en cache et non utilisée depuis plus de 15 minutes sera retirée.

Mettre en cache, cependant, génère 3 épiphénomènes que les administrateurs doivent connaître :

  1. Des requêtes répétées utilisant le même critère ne supprimeront pas les données mises en cache, cela veut dire que les données modifiées dans la source de données n'apparaîtront pas immédiatement sur la carte.
  2. Si une erreur survient avec une source de données (ex. perte de connectivité réseaux), les conditions de la faute elle-même peuvent être mises en cache pour un certain temps après la faute. Cela risque particulièrement d'arriver lorsque l'activité sur le système est faible (parce que la condition de la faute n'est pas effacée lorsque le système est inutilisé pour une longue période et la première réutilisation est avec la même source de données et la même requête).
  3. Si un utilisateur laisse une cession ouverte pour une longue période (supérieure à 15 minutes) et ensuite tente de revenir dessus, la cession pourra avoir été nettoyée forçant alors l'utilisateur à refaire sa requête.

Rien ne peut être fait à propos des cessions qui expirent (le système doit réclamer de l'espace disque retenu par des cessions potentiellement défuntes), cependant si la mémoire cache a besoin d'être forcée à l'état vide (d'habitude pendant des tests ou lorsque le système récupère d'une panne) cela peut être fait manuellement en appelant l'url :

http://HOST/emuwebXXXX/webservices/lib/DataCacher.php?action=cleanCache&test=true&testCall=true