2011-12-22 14 views
5

Chociaż to pytanie dotyczy przede wszystkim EhCache, to naprawdę odnosi się do struktur buforowania (i zwykłego starego buforowania) w ogóle.Skrzynki podręczne Singleton lub Instancje?

ehcache pozwala tworzyć pojedyncza CacheManager do zarządzania wszystkimi Caches w aplikacji, czy to pozwala na tworzenie „wystąpienie” CacheManager, co oznacza dokładnie to, co brzmi jak: wielu menedżerów w użyciu w całej aplikacji.

Jakie są plusy/minusy każdego? Na pierwszy rzut oka wydaje się, że byłoby czysto po prostu mieć menedżera singleton.

Jedynym możliwym powodem, dla którego mogę myśleć o tym, dlaczego ktoś chciałby wielu menedżerów instancji, jest fakt, że wszystkie pamięci podręczne, które znajdują się wewnątrz CacheManager, muszą mieć te same konfiguracje: ten sam rozmiar, strategie użytkowania, pojemności itp. Tak więc, jeśli chcesz wiele pamięci podręcznych, każda skonfigurowana inaczej, singleton CacheManager nie byłaby w stanie zapewnić różnych konfiguracji pamięci podręcznej dla każdej pamięci podręcznej.

Czy to jedyne kryterium określania menedżerów singleton vs instance? Jeśli nie, jakie są inne kwestie? Czy są jakieś zauważalne koszty związane z wydajnością? Z góry dziękuję!

Odpowiedz

0

Co z testami automatycznymi? Może to może być przydatne dla testów jednostkowych, jeśli możesz włączyć/wyłączyć/skonfigurować buforowanie na mniejszym poziomie? Tylko myśl.