Caching - Zenmo/Holon-webapp GitHub Wiki

Caching betekent dat we vantevoren de resultaten van elke mogelijke combinatie van invoer voor een specifieke scenario- en CMS configuratie voorberekenen om deze zonder rekentijd aan de voorkant aan te kunnen bieden.

De cache wordt ingedeeld op de combinatie van interactieve elementen configuratie en invoer. Als er dus iets wordt veranderd aan de configuratie, zal hier opnieuw een cache record voor genegenereerd moeten worden.

Endpoint

Als het holon endpoint aangeroepen wordt, kijkt het endpoint eerst of er een cache record is voor de combinatie van interactieve elementen en invoerwaardes. Zo wel, dan wordt gelijk de gecachede json gereturned. Zo niet, dan wordt de endpoint zoals gewoonlijk uitgevoerd en wordt het resultaat in de cache opgeslagen.

Runner

De runner reset de cache roept vervolgens het Holon endpoint aan voor elke mogelijke invoercombinatie om deze weer de cache te laten vullen.

Discrete Sliders

Om te helpen de schaal van de cache beheersbaar te houden is de stapgrootte van een slider aan te passen. Elk extra interactief element vergroot het aantal mogelijke invoercombinaties exponentieel, dus het is belangerijk de sliders zo weinig mogelijk stappen mee te geven als de cache snel opgebouwd moet kunnen worden. Als voorbeeld, 5 sliders met elk 5 stappen kost 7 uur om te berekenen, terwijl 4 sliders anderhalf uur kost.

Default waardes

Let op dat bij het instellen van een discrete slider, de default waarde een waarde is die bij een van de stappen hoort in de slider.

Stel we hebben een slider van 0-100, met 5 stappen. Dan is de default waarde in te stellen als 0, 25, 50, 75 of 100.