2011-12-22 19 views
5

Sebbene questa domanda riguardi principalmente EhCache, si applica in particolare ai framework di memorizzazione nella cache (e alla semplice vecchia nella cache) in generale.Cache Singleton o Istanza?

EHCache consente di creare un Singleton CacheManager per la gestione di tutte le Caches nell'applicazione, oppure permette di creare "istanza" CacheManager, che significa esattamente quello che sembra: più gestori in uso in tutta l'applicazione.

Quali sono i pro/contro di ciascuno? A prima vista sembra che sarebbe più semplice avere un manager singleton.

L'unica ragione plausibile che posso immaginare per il motivo per cui si desiderano più gestori di istanze è il fatto che tutte le cache che vivono all'interno di un CacheManager devono condividere le stesse configurazioni: stesse dimensioni, strategie di utilizzo, capacità, ecc. Quindi se si desidera più cache, ciascuna configurata in modo diverso, il singleton CacheManager non sarebbe in grado di fornire le diverse configurazioni della cache a ciascuna cache.

È questo l'unico criterio per determinare singleton vs gestori di istanze? In caso negativo, quali sono alcune altre considerazioni? C'è un notevole costo delle prestazioni associato a entrambi? Grazie in anticipo!

risposta

0

E i test automatici? Forse può essere utile per il test delle unità se è possibile abilitare/disabilitare/configurare la cache su un livello più piccolo? Solo un pensiero.

Problemi correlati