Содержание

Что такое кэширование сервиса изображений?—ArcGIS Server

Кэширование сервиса изображений улучшает производительность в клиентских приложениях. При кэшировании сервиса изображений сервер предварительно создает листы на разных уровнях масштаба, которые извлекаются быстрее, чем в случае обработки входных данных из набора данных мозаики или набора растровых данных при каждом запросе от ArcGIS Server. Важным аспектом кэша сервиса изображений является то, что поставляемые изображения не обрабатываются на лету. Изображения обрабатывают заранее, чтобы создать листы кэша, которые затем и поставляются.

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

Весь кэш изображения хранится в виде 8-битовых данных.

Для чего нужно кэшировать сервисы изображений?

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

  • Повышенная производительность работы с базовыми изображениями – если сервис изображений используется в качестве базового изображения (другими словами, как фоновое изображение карты), и пользователи не меняют свойства сервиса изображений, например методы мозаики, и не выполняют запросы, то рекомендуется применять кэширование.
  • Пропуск шага создания обзорного изображения – если вы публикуете набор данных мозаики, который будет использоваться как базовое изображение, кэширование может сэкономить вам время, позволяя пропустить шаг создания обзорных изображений для набора данных мозаики. Это относится, например, к случаям, когда вы поставляете коллекцию предварительно обработанных и разбитых на листы ортофотографий или изображений ЦМР с отмывкой.
  • Улучшенная производительность для медленно отображаемых форматов – если вы публикуете изображения в медленно отображаемых форматах или форматах с сильным сжатием, то рекомендуется создавать кэш. Если набор данных мозаики работает медленно из-за сложных функциональных связей, то кэширование обеспечит более быстрый доступ к изображениям.

Как создается кэш?

Кэширование не происходит автоматически. Прежде всего нужно опубликовать набор данных мозаики или набор растровых данных в качестве сервиса изображений. Затем нужно задать свойства кэша. После этого можно начать создавать кэш.

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

Схема листов

Выбираемые масштабы и значения параметров кэша определяют схему листов. Схема листов должна совпадать со схемами листов других слоев, которые вы используете. Например, вы можете выбрать хорошо известные схемы листов ArcGIS Online, Bing Maps и Google Maps, чтобы накладывать листы кэша на листы этих картографических онлайн-сервисов. Или создать собственную схему листов специально для вашего веб-приложения. В каждом кэше есть файл схемы листов, который можно импортировать при создании новых кэшей, чтобы все кэши использовали одни и те же размеры листов и масштабы.

Если схема листов не совпадает со схемой листов других слоев в приложении, то вы можете не увидеть кэшированные слои. Это происходит потому, что веб-клиенты часто не могут переработать данные для их отображения на другом уровне (в отличие от ArcGIS Pro).

При создании собственной уникальной схемы листов вы можете выбрать масштабы или размеры пиксела, соответствующие обзорным изображениям набора данных мозаики или пирамидных слоев в наборе растровых данных. Если кэш можно создать на основе обзорного или пирамидного слоя, близкого или совпадающего по интервалу с создаваемым кэшем, качество кэша улучшается; в противном случае есть риск, что лист кэша будет создан из других листов кэша, что может ухудшить качество изображения. Просмотрите исходные данные в ArcGIS Pro на тех же масштабах, что и в схеме листов, чтобы убедиться в их качественном отображении.

Вы также можете задать размер базовой ячейки кэша, указав значение параметра Максимальный размер ячейки источника на странице Дополнительные настройки для кэширования. Вы можете использовать этот параметр, например, для начала построения кэша там, где закончились обзорные или пирамидные слои.

Листы кэша

Листы кэша обрабатываются и хранятся в формате JPEG или PNG, что позволяет серверу распространять эти изображения по запросу.

Кэш хранится в директории кэша вашего сервера. При установке ArcGIS Server директория кэша сервера создается в локальной папке. При добавлении дополнительных ГИС-серверов для поддержки сайта следует настроить общий доступ к директории кэша сервера (используя опции операционной системы, такие как общий доступ к файлам Windows), для того чтобы она была доступна с других задействованных компьютеров.

Чтобы кэш работал оптимально, требуются следующие условия. Для создания листов кэша требуется мощный сервер и некоторое время, а для их хранения нужно оборудование. Вам также может потребоваться выполнять обновление кэша, если, например, исходные данные, такие как набор данных мозаики, редактируется. Если приложение предоставляет изображения для большой области с крупным масштабом, вы можете решить, что время и место, необходимые для создания и обслуживания кэша, перевешивают преимущества, связанные с производительностью.

Более подробно о создании кэша сервиса изображений

Кэширование по запросу

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

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

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

Внимание:

Для сервисов изображений, созданных с использованием набора данных мозаики: при создании кэша по запросу или построении одного уровня кэша, вы должны быть уверены в том, что кэш можно создать. Иначе кэш будет пустым. При создании кэша по запросу убедитесь, что изображения видны на каждом уровне. В противном случае постройте обзоры набора данных мозаики или измените другие параметры, которые могут повлиять на видимость изображения. При использовании инструмента Управление листами кэша картографического сервера не создавайте случайные масштабы. Формируйте все масштабы или только мелкий масштаб, если предыдущий крупный масштаб уже был построен.

Следует ли кэшировать сервисы изображений?

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

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

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

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

Более подробно:

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

Дополнительные сведения об экспорте растяжек в ArcGIS Pro, см. в разделе Сохранение настроек символов в качестве шаблона.

Дополнительную информацию о применении шаблона функции растра (*.rft.xml) к сервису изображений см. в разделе Параметры управления обработкой «на лету».

Как обновлять кэш сервиса изображений?

Управление кэшем сервиса изображений аналогично управлению кэшем картографического сервиса.

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

Более подробно об инструментах для обновления кэша

Доступ к кэшированному и некэшированному сервисам изображений

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

Если вам нужно работать с сервисом изображений динамически и использовать функции, такие как метод мозаики, вы можете изменить режим работы слоя. Чтобы изменить режим, щелкните правой кнопкой слой сервиса изображений и снимите отметку Включить режим просмотра кэша (Enable Cache View Mode).

Чтобы использовать сервис изображений как кэшированный сервис, активируйте эту опцию.

Для доступа к кэшированному сервису изображений в веб-приложении (например, приложении, разработанном с использованием ArcGIS API for JavaScript) используйте класс ArcGISTiledMapServiceLayer, а для доступа к динамическому сервису изображений используйте класс ArcGISImageServiceLayer. Вы также можете получить доступ к кэшированному сервису изображений, используя протокол Open Geospatial Consortium, Inc. (OGC), Web Map Tile Service (WMTS).

Конечная точка REST сервиса изображений поддерживает как ExportImage для предоставления доступа к динамическому сервису изображений, так и GetTile для предоставления доступа к кэшированному сервису изображений.

Более подробно о доступе к кэшированным сервисам изображений


Отзыв по этому разделу?

Что такое кэширование?—ArcGIS Server | Документация для ArcGIS Enterprise

Кэширование карт — это способ ускорить работу ваших картографических сервисов и сервисов изображений. При создании кэша карты сервер отрисовывает карту на нескольких уровнях масштабирования и сохраняет копии этих изображений. После этого, когда кто-нибудь запрашивает карту, сервер может предоставить эти изображения. Всякий раз, когда сервер получает запрос на карту, он гораздо быстрее возвратит кэшированное изображение, чем заново нарисует карту. Другое преимущество кэширования состоит в том, что высокая детализация изображения не сказывается на времени предоставления информации.

Что происходит во время процесса кэширования?

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

При кэшировании карты вы отрисовываете ее на нескольких заданных уровнях масштабирования, чтобы затем пользователи смогли приближать и отдалять карту. При выборе параметров кэша нужно определить, какие масштабы требуется кэшировать. Если это просто первая проба инструментов кэширования, можно разрешить компьютеру выбрать какие-то масштабы. Однако обычно масштабы заранее подбирают так, чтобы обеспечить качественное отображение карты в каждом из этих масштабов. Следует записать масштабы и использовать их при разработке карт в ArcGIS Pro. Когда придет время создавать кэш, нужно указать эти масштабы в настройках инструмента создания кэша.

Есть и другие параметры, которые важно понимать при создании кэша. Дополнительную информацию см. в разделе Редактирование свойств кэширования сервиса в ArcGIS Server Manager.

Кэш хранится в директории кэша вашего сервера. При установке ArcGIS Server директория кэша сервера создается в локальной папке. При добавлении дополнительных ГИС-серверов для поддержки сайта следует настроить общий доступ к директории кэша сервера (используя опции операционной системы, такие как общий доступ к файлам Windows), для того чтобы она была доступна с других задействованных компьютеров.

Выбираемые масштабы и устанавливаемые значения параметров кэша составляют схему листов. В каждом кэше есть файл схемы листов, который можно импортировать при создании кэшей, чтобы все кэши использовали одни и те же размеры листов и масштабы. Это как правило помогает поднять производительность веб-приложений, содержащих более одного кэшированного сервиса. Дополнительно можно использовать именно ту схему листов, которая используется в ArcGIS Online, Bing Maps и Google Maps. Это позволит производить наложение ваших листов кэша на листы этих картографических онлайн-сервисов.

Можно ли кэшировать все карты?

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

Если даже данные изменяются, все равно можно использовать кэширование, периодически обновляя кэш с помощью соответствующих инструментов. Также настраивается график автоматического запуска таких обновлений. Чтобы понять — можно ли кэшировать карту, которая часто меняется, полезно ответить на такие вопросы:

Насколько актуальной должна быть моя карта?

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

Насколько велик кэш и насколько широко распространены изменения данных?

Эти два вопроса дополняют друг друга. Большой кэш требует больше времени на создание. Практичней обновлять большой кэш только в случае, если есть возможность изолировать область изменений и обновлений. Если кэш невелик, можно позволить себе быструю перестройку всего кэша.

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

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

Дополнительная информация об обновлении кэша сервера находится в разделе Обновления кэша карты.

Будут ли исходные ГИС-данные доступны после создания пакета листов?

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

Как начать кэширование?

Для начала кэширования необходимо опубликовать картографический сервис или сервис изображений. В рамках процесса публикации вы зададите свойства сервиса. Здесь можно определить масштабы и экстент кэша. Для получения дополнительной информации см. раздел Публикация сервиса в ArcGIS Pro.

Вы можете создать листы при публикации сервиса (что подходит для небольшого кэша) или сформировать кэш самостоятельно после публикации (подходит для большого кэша, когда вы хотите географически ограничить кэш, формируемый для больших масштабов). Если вы создаете кэш самостоятельно, используйте инструмент геообработки Управление листами кэша картографического сервиса из набора инструментов Серверные инструменты.

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

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

Инструмент Создать схему листов кэша картографического сервиса

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

Рекомендуется создавать схему листов с помощью этого инструмента и использовать ее для множества кэшей внутри организации.

Инструмент Управление листами кэша картографического сервера

Инструмент Управление листами кэша картографического сервера позволяет создавать, изменять и удалять листы в существующем кэше. Открыть этот инструмент можно, щелкнув правой кнопкой мыши на дереве каталога и выбрав Управление кэшем > Управление листами.

Так как Управление листами кэша картографического сервера является инструментом геообработки, его можно использовать в скрипте подобно любому другому инструменту для помощи при обновлении кэша на регулярной основе.

Директория кэша

Директория кэша ArcGIS Server – это папка на диске или в облачном хранилище, в которой хранятся листы кэша.

Можно открыть директорию кэша для проверки листов кэша и файла схемы листов conf.xml. Директория кэша также может содержать статус файловой базы геоданных.gdb, который содержит информацию о том, какие листы были построены.

На рисунке ниже показан полистный формат кэша в Windows Explorer, где каждый лист хранится в отдельном файле. В компактном формате кэша используются большие файлы, называемые пакетами, которые хранят несколько листов.


Отзыв по этому разделу?

Что такое кэш? Определение, работа, типы и важность

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

Содержание

  • Что такое кэш?
  • Как работает кэш?
  • Понимание 10 типов кэша
  • Важность кэша

Что такое кэш?

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

Кэш — это программное или аппаратное обеспечение, используемое для временного хранения информации, часто данных, в компьютерной системе. Это скромная форма быстрой и более дорогой памяти, используемой для повышения производительности часто используемых данных. Кэшированные данные временно сохраняются на носителе данных, доступном только пользователю кэша и отдельно от основного хранилища. Центральный процессор (ЦП), приложения, веб-браузеры и операционные системы используют кеш.

Кэш используется, поскольку объемное или основное хранилище не может удовлетворить потребности пользователей. Кэш минимизирует время доступа к данным, снижает задержку и улучшает ввод-вывод (I/O). Метод кэширования повышает производительность приложений, поскольку практически все рабочие нагрузки приложений основаны на операциях ввода-вывода.

Кэши существуют как в аппаратном, так и в программном обеспечении.

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

Каждый онлайн-браузер сохраняет собственный кеш, включая Microsoft Edge, Google Chrome, Firefox и Safari. Кэш браузера сохраняет файлы, необходимые для отображения веб-страниц, к которым обращается браузер. Он включает HTML-документ, определяющий веб-сайт, руководства по каскадным таблицам стилей (CSS), Javascript, файлы cookie и графику.

Например, когда вы просматриваете Amazon, он извлекает все фотографии, связанные со страницами продуктов, которые вы видите, — HTML, файлы сценариев, необходимые для создания сайтов, и данные настройки, такие как ваши учетные данные для входа и содержимое корзины покупок. Если вы удалите кэш своего браузера, розничные веб-сайты потребуют от вас повторного входа в систему и изменения настроек.

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

Подробнее: Что такое NAS (сетевое хранилище)? Работа, функции и варианты использования

Как работает кэш?

Данные в кэше обычно хранятся в аппаратном обеспечении с немедленным доступом, таком как ОЗУ (оперативная память), и могут использоваться совместно с программным компонентом. Основная цель кэша — повысить скорость извлечения данных за счет устранения необходимости обращаться к более медленному уровню хранения за ним.

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

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

Данные, не находящиеся в кэше, берутся из основной памяти и помещаются в кэш. Это известно как кеш промах . Как это достигается и какая информация удаляется из кэша для создания пространства для новых данных, определяется алгоритмами кэширования, механизмами кэширования и системными правилами.

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

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

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

Теперь давайте разберемся, как работает аппаратный кеш.

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

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

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

Например, веб-браузер может проверить свои локальные кэши на диске, чтобы узнать, есть ли у него локальный файл резервной копии материала веб-сайта в виде определенного URL-адреса. В этом сценарии URL-адрес — это тег, а содержимое веб-страницы — это данные. Доля посещений кеша, которые приводят к попаданиям в кеш, называется частотой попаданий в кеш или коэффициентом попаданий.

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

При промахе кэша текущая запись кэша стирается, чтобы освободить место для вновь полученных данных. Политика замены относится к эвристике, используемой для определения того, какую запись следует заменить. Одна распространенная стратегия замены, «наименее недавно использованная (LRU)», заменяет самую раннюю запись той, к которой последний раз обращались.

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

Применение программного кэша

Кэши хранят временные файлы с использованием как аппаратных, так и программных компонентов. Кэш ЦП — это иллюстрация аппаратного кеша. Это крошечная часть памяти ЦП компьютера, в которой хранятся недавно или часто используемые основные компьютерные инструкции. Кроме того, многие программы и программное обеспечение используют собственный кэш. В этом кэше на короткое время хранятся данные, файлы и инструкции, относящиеся к приложению, для быстрого поиска.

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

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

Подробнее: Что такое фильтрация URL-адресов? Определение, процесс и рекомендации

Проектирование системы кэширования

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

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

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

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

В этом случае крайне важно определить приемлемые RTO (целевое время восстановления — количество времени, необходимое для восстановления после сбоя) и RPO (целевая точка восстановления — конечная запись или транзакция, записанная в области восстановления).

Подробнее: 10 лучших антивирусных программ в 2022 году  

Понимание 10 типов кэша

Давайте разберемся с основными типами кэша.

1. Кэш-память L1

L1 — регистр, встроенный в ЦП, и наиболее распространенный тип кэш-памяти. Размер кэша L1 варьируется от 2 КБ до 64 КБ в зависимости от процессора компьютера, что довольно скромно по сравнению с другими кэшами. Необходимые инструкции ЦП сначала ищутся в кэше L1. Регистры включают аккумуляторы, адресные регистры и программные счетчики, среди многих других.

2. Кэш-память L2

Кэш-память уровня 2, также называемая вторичной кэш-памятью, часто больше, чем кэш-память L1. Кэш L2 может быть встроен в ЦП или находиться в отдельной микросхеме или сопроцессоре с высокочастотной альтернативной системной шиной, связывающей кэш и ЦП. Таким образом, он не будет замедляться из-за загруженности основной автобусной системы.

3. Кэш-память L3 

Кэш-память уровня 3 — это специализированная память, предназначенная для увеличения скорости L1 и L2. L1 или L2 могут быть намного быстрее, чем L3, в то время как L3 часто вдвое быстрее, чем DRAM. Каждое ядро ​​многоядерного процессора может иметь свой собственный кэш L1 и L2, и они могут объединять кэш L3. Если такой кэш L3 обращается к команде, он часто повышается до уровня кэша выше, чем L3.

4. Кэш с прямым отображением с использованием MCDRAM

Кэш с прямым отображением — это простой метод: каждый адрес в основной памяти преобразуется ровно в один блок кэша. Многоканальная кэш-память DRAM или MCDRAM является практичным средством увеличения пропускной способности памяти. Действуя как кэш-память, он может динамически хранить часто используемые материалы и обеспечивает гораздо большую пропускную способность, чем память DDR. Когда MCDRAM находится в состоянии кэша, он функционирует как кэш прямого отображения. Это указывает на то, что многие ячейки памяти соответствуют одной и той же ячейке кэша.

5. Полностью ассоциативный кэш

Полностью ассоциативное отображение — это метод отображения кэша, который позволяет отображать блок основной памяти в строку кэша, которая находится в свободном доступе. В кэше с полной ассоциативностью любой адрес памяти может храниться практически в любой строке кэша. Этот тип памяти значительно снижает количество промахов строки кэша и считается сложной реализацией кэш-памяти.

6. Дисковый кэш

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

7. Постоянный кэш 

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

8. Флэш-кэш

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

9. Постоянный кэш 

Постоянный кэш — это механизм хранения, в котором данные не теряются при перезапуске или сбое системы. Резервные батареи используются для защиты данных, или данные передаются в динамическое ОЗУ с резервной батареей в качестве дополнительной защиты от потери данных.

10. Кэш браузера и приложений

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

Подробнее: Что такое безопасность электронной почты? Определение, преимущества, примеры и рекомендации

Важность кэша

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

1. Повышение производительности

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

2. Автономный доступ

Для повышения скорости приложения кэшируют ранее и регулярно используемые данные. Это не только ускоряет работу, как указывалось ранее, но и при определенных обстоятельствах позволяет приложениям работать «в автономном режиме». Например, если у вас нет подключения к Интернету, приложение может продолжать работать, используя кэшированные данные.

3. Эффективность приложения

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

4. Эффективность сети

Кэширование способствует более эффективному использованию пропускной способности сети за счет уменьшения количества «поездок», необходимых для запроса и доставки информации. Это влияние может значительно снизить потребность в дублировании развертывания инфраструктуры, что приведет к значительной экономии средств и экономическим преимуществам для всей интернет-экосистемы. Кроме того, коммерческие поставщики кэширования могут масштабироваться, активно используя энергоэффективную ИТ-инфраструктуру, совместно используемую несколькими клиентами.

5. Лучшее качество обслуживания (QoS)

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

Подробнее: Что такое веб-связь в реальном времени (WebRTC)? Определение, дизайн, важность и примеры

Вывод

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

Эта статья помогла вам понять, как работает кэш? Расскажите нам на Facebook Открывает новое окно