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!