2011-12-22 7 views
5

Хотя этот вопрос касается, прежде всего, EhCache, он действительно относится к кэширующим фреймворкам (и обычным старым кешированием) в целом.Синглтон или кэш-память экземпляра?

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

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

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

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

ответ

0

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

Смежные вопросы