Аннулирование кэша — это процесс в компьютерной системе , при котором записи в кэше заменяются или удаляются.
Это можно сделать явно, как часть протокола когерентности кэша . В таком случае процессор изменяет ячейку памяти, а затем аннулирует кэшированные значения этой ячейки памяти во всей остальной части компьютерной системы.
Аннулирование кэша может использоваться для передачи нового контента клиенту . Этот метод функционирует как альтернатива другим методам отображения нового контента подключенным клиентам. Аннулирование выполняется путем изменения данных приложения, что в свою очередь отмечает информацию, полученную клиентом, как устаревшую. После аннулирования кэша, если клиент запрашивает кэш, ему доставляется новая версия. [1]
Существует три конкретных метода аннулирования кэша, но не все кэширующие прокси поддерживают эти методы.
Немедленно удаляет содержимое из кэширующего прокси. Когда клиент снова запрашивает данные, они извлекаются из приложения и сохраняются в кэширующем прокси. Этот метод удаляет все варианты кэшированного содержимого. [1]
Извлекает запрошенный контент из приложения, даже если доступен кэшированный контент. Контент, ранее сохраненный в кэше, заменяется новой версией из приложения. Этот метод влияет только на один вариант кэшированного контента. [1]
Ссылка на кэшированный контент добавляется в черный список (или список запретов). Затем клиентские запросы проверяются по этому черному списку, и если запрос соответствует, из приложения извлекается новый контент, возвращается клиенту и добавляется в кэш. [1]
Этот метод, в отличие от purge, не удаляет кэшированный контент немедленно из кэширующего прокси. Вместо этого кэшированный контент обновляется после того, как клиент запрашивает эту конкретную информацию.
Есть несколько альтернатив аннулированию кэша, которые по-прежнему доставляют обновленный контент клиенту. Одна из альтернатив — быстрое истечение срока действия кэшированного контента путем уменьшения времени жизни (TTL) до очень низкого значения. Другая альтернатива — проверка кэшированного контента при каждом запросе. Третий вариант — не кэшировать изменчивый контент, запрашиваемый клиентом. Эти альтернативы могут вызывать проблемы, поскольку они создают высокую нагрузку на приложение из-за более частых запросов информации. [1]
Использование аннулирования для передачи нового контента может быть сложным при аннулировании нескольких объектов. Аннулирование нескольких представлений добавляет уровень сложности к приложению. Аннулирование кэша должно выполняться через кэширующий прокси; эти запросы могут повлиять на производительность кэширующего прокси, что приведет к более медленной передаче информации клиентам. [1]