Одиночные или инстансные кеши? - PullRequest
5 голосов
/ 22 декабря 2011

Хотя этот вопрос касается в первую очередь EhCache, он действительно применим к инфраструктуре кэширования (и к простому старому кэшированию ) в целом.

EhCache позволяет вам создать синглтон CacheManager для управления всеми Caches в вашем приложении или создать «экземпляр» CacheManager, что в точности означает, как это звучит: используется несколько менеджеров во всем приложении.

Каковы плюсы / минусы каждого из них? На первый взгляд кажется, что было бы чище, если бы у меня был только один менеджер.

Единственная мыслимая причина, по которой я могу подумать о том, почему нужны менеджеры с несколькими экземплярами, заключается в том, что все кэши, находящиеся внутри CacheManager, должны иметь одинаковые конфигурации: одинаковый размер, стратегии использования, емкости и т. Д. Так что, если вы Если требуется несколько кэшей, каждый из которых настроен по-разному, синглтон CacheManager не сможет обеспечить различные конфигурации кэша для каждого кэша.

Является ли это единственным критерием для определения синглтонов против менеджеров экземпляров? Если нет, то каковы другие соображения? Есть ли заметные затраты производительности, связанные с любым из них? Заранее спасибо!

1 Ответ

0 голосов
/ 26 декабря 2011

А как насчет автоматического тестирования?Может быть, это может быть полезно для модульного тестирования, если вы можете включить / отключить / настроить кэширование на меньшем уровне?Просто мысль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...