Présentation du cache de la fonction de magasin

La mise en cache de la fonction de magasin élimine l'interrogation des tables de base de données lors de l'évaluation des valeurs d'activation de la fonction de magasin pour un client.

FlexFlowCache (WCFlexFlowDistributedMapCache)

L'instance FlexFlowCache est un emplacement dans lequel un cache de mappes réparties (WCFlexFlowDistributedMapCache DistributedMap) stocke des données relatives aux fonctions de magasin.

Les données stockées dans FlexFlowCache incluent :
  • des ID de magasin
  • des noms de fonction de magasin
  • des valeurs de fonction de magasin

Invalidation des données en mémoire cache

Une fois que vous avez établi que les données sont ajoutées correctement au cache FlexFlowCache, assurez-vous que les données en cache qui sont extraites ne sont ni périmées, ni incorrectes en exécutant le fichier wcs.cacheivl.trigger.sql pour activer les déclencheurs suivants pour FlexFlowCache :
  • civi_ems
  • civu_ems
  • civd_ems
  • civi_dm8
  • civu_dm8
  • civd_dm8

Ces déclencheurs de base de données détectent automatiquement les modifications des valeurs dans les tables de base de données EMSPOT et DMEMSPOTDEF et insèrent ces modifications dans la table de base de données CACHEIVL. Des ID d'invalidation spécialement formulés sont ajoutés à la fin de la table de base de données, dans la colonne DATAID. Le travail planifié DynaCacheInvalidationCmd traite les lignes dans la table de base de données CACHEIVL et émet les invalidations en cache appropriées. Lorsque cette méthode est utilisée, il y a un délai entre le moment où les modifications de base de données sont apportées et le moment où le travail planifié DynaCacheInvalidation exécute les invalidations. Pendant ce délai, les anciennes données mises en cache périmées sont utilisées.