Хотя этот вопрос касается, прежде всего, EhCache, он действительно относится к кэширующим фреймворкам (и обычным старым кешированием) в целом.Синглтон или кэш-память экземпляра?
Ehcache позволяет создать синглтон CacheManager
для управления всеми Caches
в вашем приложении, или это позволяет создавать «экземпляр» CacheManager
, что означает именно то, что это звучит как: несколько менеджеров, используемый во всем приложении.
Каковы преимущества/недостатки каждого? С первого взгляда кажется, что было бы чище просто иметь диспетчера синглтона.
Единственная возможная причина, по которой я могу думать о том, почему нужно иметь несколько менеджеров экземпляров, заключается в том, что все кеши, живущие внутри CacheManager
, должны иметь одинаковую конфигурацию: одинаковый размер, стратегии использования, емкости и т. Д. Поэтому, если вы хотите несколько кешей, каждый из которых настроен по-разному, singleton CacheManager
не сможет предоставить разные кеш-конфигурации для каждого кеша.
Является ли это единственным критерием для определения однопользовательских менеджеров экземпляров? Если нет, каковы некоторые другие соображения? Есть ли заметная стоимость исполнения, связанная с этим? Заранее спасибо!