Ответ 1
Кэш - хранит часто используемые значения, как правило, потому что поиск и/или создание нетривиальны. например если часто используется таблица поиска из базы данных или значения считываются из файла на диске, более эффективно хранить ее в памяти и периодически обновлять ее.
Кэш только управляет временем жизни объекта в кеше, но не накладывает семантики на то, что хранится в кеше. Кэш также не создает элементы, а просто хранит объекты.
Пул - термин для описания группы ресурсов, которые управляются самим пулом. например (База данных) Пул соединений - Когда соединение необходимо, оно получается из пула, а по завершении возвращается в пул.
Пул сам обрабатывает создание и уничтожение объединенных объектов и управляет тем, сколько объектов может быть создано в любой момент времени.
Пулы обычно используются для уменьшения накладных расходов и доступа к ресурсам. Вы не хотите, чтобы каждый запрос сервлета открывал новое соединение с базой данных. Потому что тогда у вас есть соотношение 1:1 между активными запросами и открытыми соединениями. Накладные расходы на создание разрушающих эти соединения являются расточительными, плюс вы можете легко перегружать свою базу данных. используя пул, эти открытые соединения могут использоваться совместно. Например, 500 активных запросов могут содержать всего 5 подключений к базе данных, в зависимости от того, как долго типичный запрос нуждается в соединении.
Cache Pool - в основном, похоже, описывает количество (независимого?) кэша, которые существуют. Например. приложение asp.net имеет 1 кеш на один домен приложения (кэш не используется совместно с приложениями asp.net). Буквально пул кешей, хотя этот термин, по-видимому, используется редко.