Cache

Navigation:  APPENDICI >

Cache

Previous pageReturn to chapter overviewNext page

La creazione di una Cache all'interno di un Package consente di rendere permanente il risultato della prima esecuzione valida di un dataset in output per un tempo prestabilito.

 

LightBulb

Le Cache sono molto utili in fase prototipale o in soluzioni dove non si prevede l'acquisizione in tempo reale di determinate sorgenti dati. Infatti, evitando successivi aggiornamenti degli stessi dati, si ha un guadagno in termini di prestazioni.

Ogni Data Link e Data Engine dispone di un proprio Cache Editor nel tab General, che può essere abilitato mediante il flag Enabled. Esso consente di definire:

il Time based expiry mode, ossia il tipo di validità temporale della Cache;

le Expiry rules, condizioni che definiscono la validità temporale della Cache in base al Time based expiry mode impostato.

 

Sono disponibili due diversi tipi di Time based expiry mode:

Relative, basato sulla data di acquisizione dei dati. In questo caso la Cache viene invalidata ogni n minuti, ore o giorni a partire dalla data di creazione, dove n è un numero definito dall'utente.

Recurrent, definito indipendentemente dall'acquisizione del dato. Consente di definire uno specifico istante come termine di validità della Cache.

 

In caso di Recurrent expiry mode, la Cache può essere invalidata:

Giornalmente, indicando il numero di giorni di validità;

Settimanalmente, indicando il numero di settimane di validità ed il giorno della settimana (lunedì, martedì, ecc.) in cui invalidare la Cache;

Mensilmente, indicando il numero di mesi di validità ed il giorno del mese in cui invalidare la Cache. In particolare è possibile indicare il giorno di invalidazione mediante numero ordinale (e.g. il primo giorno del mese) oppure mediante numero ordinale e giorno della settimana (e.g. il primo lunedì del mese).

 

Inoltre è possibile impostare anche la ricorrenza giornaliera con cui la Cache può essere invalidata. In particolare, il flag Occurs once at abilita una sola ricorrenza giornaliera all'ora indicata nel campo associato. Alternativamente è possibile impostare ricorrenze multiple, intervallate da un certo numero di ore in una fascia oraria predefinita. Infine, è anche possibile definire una data, prima della quale la Cache non viene mai invalidata.

 

Ogni Cache è mantenuta sul Working DB (o, se previsto, su altro DB di IrionEDM), finché non è eliminata manualmente o mediante meccanismi di invalidazione automatica, quali la scadenza della sua validità temporale o alcune modifiche degli aspetti definitori del DataLink o DataEngine.

 

warning

L'utilizzo massivo delle Cache, può migliorare le prestazioni ma anche aumentare in modo considerevole le dimensioni del Working DB.

 

Per invalidare manualmente una Cache è necessario premere il pulsante Discard DiscargeCash_16. Viceversa, per disabilitare la creazione automatica di una Cache da parte del sistema è necessario eliminarne la definizione disabilitando il flag Enabled.

 

info

E' possibile caricare una Cache anche all'interno di una Library. La proprietà AllowCacheLoadingInLibraries (property Grid del Data Link o Data Engine associato), consente di specificare se caricare o meno la Cache, nel caso in cui il Package corrente sia utilizzato come Library.