2008-11-13 3 views
2

Я делаю некоторый дизайн (первоначально для Java) (но может ли он расширяться до .NET в будущем?), И я смущаюсь между терминами «кеш» и "бассейн".Рекомендации/различия между пулом кеша/пула/кэша

Насколько я могу судить, главное отличие заключается в том, что содержится в них?

Любые указания относительно того, что следует использовать, когда?

И что же такое «кэш-пул», о котором говорится в ряде статей?

ответ

1

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

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

Я не перебежать термин «кэш-пул» - но на основе краткого обзора, представляется использоваться для пула из кэш с, или набором кэшей под управлением пулом.

0

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

«Пул» может быть любым, но вы не просто удаляете объекты пула, потому что они старые - обычно пул содержит уникальные, возможно невоспроизводимые экземпляры некоторого ресурса.

+0

Обычно пул содержит дорогостоящие объекты. Я бы не согласился с тем, что предметы в пуле «уникальны или невоспроизводимы» в общем смысле. –

+0

Тогда как бы вы отделили его от кеша? –

+0

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

4

Хотя они оба относятся к хранению предметов вокруг, они совершенно разные, и я бы не сказал, что они взаимозаменяемы.

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

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

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

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

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

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