Подтвердить что ты не робот

В чем разница между кешированием и пулом?

В чем разница между кешированием и пулом?

4b9b3361

Ответ 1

Кэш - хранит часто используемые значения, как правило, потому что поиск и/или создание нетривиальны. например если часто используется таблица поиска из базы данных или значения считываются из файла на диске, более эффективно хранить ее в памяти и периодически обновлять ее.

Кэш только управляет временем жизни объекта в кеше, но не накладывает семантики на то, что хранится в кеше. Кэш также не создает элементы, а просто хранит объекты.

Пул - термин для описания группы ресурсов, которые управляются самим пулом. например (База данных) Пул соединений - Когда соединение необходимо, оно получается из пула, а по завершении возвращается в пул.

Пул сам обрабатывает создание и уничтожение объединенных объектов и управляет тем, сколько объектов может быть создано в любой момент времени.

Пулы обычно используются для уменьшения накладных расходов и доступа к ресурсам. Вы не хотите, чтобы каждый запрос сервлета открывал новое соединение с базой данных. Потому что тогда у вас есть соотношение 1:1 между активными запросами и открытыми соединениями. Накладные расходы на создание разрушающих эти соединения являются расточительными, плюс вы можете легко перегружать свою базу данных. используя пул, эти открытые соединения могут использоваться совместно. Например, 500 активных запросов могут содержать всего 5 подключений к базе данных, в зависимости от того, как долго типичный запрос нуждается в соединении.

Cache Pool - в основном, похоже, описывает количество (независимого?) кэша, которые существуют. Например. приложение asp.net имеет 1 кеш на один домен приложения (кэш не используется совместно с приложениями asp.net). Буквально пул кешей, хотя этот термин, по-видимому, используется редко.

Ответ 2

Кэширование сохраняет значение/объект для повторного использования - обычно для экономии ресурсов.

Wikipedia говорит:

кэш - это компонент, который прозрачно хранит данные, так что будущие запросы на эти данные могут выполняться быстрее.

Опрос аналогичен, когда у вас есть несколько таких объектов (пул) - после того, как объект был извлечен из пула и используется, он возвращается в пул для последующего повторного использования.

Wikipedia говорит:

Пул в информатике представляет собой набор инициализированных ресурсов, которые все время готовы к использованию, а не распределены и уничтожены по требованию.

Ответ 3

Кэширование обычно относится к удержанию на статической копии данных для быстрого извлечения (с предположением, что поиск или вычисление стоимости дороги).

Объединение обычно относится к поддержанию большого количества ресурсов для быстрого использования (с предположением, что создание и удаление этих ресурсов дорого).

Ответ 4

Оба предназначены для повторного использования объектов. Различие обычно проводится вдоль состояния; пул - это коллекция объектов без гражданства, кэш - один из объектов с сохранением состояния. См. это объяснение.