Кэш жизни, что это такое

Обновлено: 21.11.2024

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

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

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

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

Обзор кэширования

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

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

Рекомендации по кэшированию. При реализации уровня кэширования необходимо обратить особое внимание на кэшируемость данных. Эффективный кэширование частоты запросов, наличие в кэше запрашиваемых данных. Промах кэша происходит, когда запрашиваемых данных в кэше нет. Для удаления из кэша неактуальных данных применяются такие механизмы, как TTL (время жизни). Также следует понимать, что для кэширования среды требуется высокая доступность. Если необходимо, можно использовать сервисы в памяти, такие как Redis. В случае обнаружения уровня в памяти можно использовать как отдельный уровень хранения данных, в отличие от кэширования из хранилища. Чтобы решить, подходит ли такой вариант, необходимо определить для данных в сервисе значения времени RTO (требуемое время восстановления, то есть количество времени требуется система на восстановление после страха) и RPO (требуемая восстановление, то есть последняя точка восстанавливаемая точка или транзакция) . Для соответствия большинству безопасности RTO и RPO можно применять характеристики и проектные стратегии различных служб в памяти.

Ускорение получения веб-контента от веб-сайтов (браузеры или устройства)

Кэширование с помощью Amazon ElastiCache

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

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

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

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

Сокращение затрат на базы данных

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

Снижение нагрузки на серверную часть

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

Прогнозируемая производительность

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

Устранение проблемных мест в базах данных

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

Повышение пропускной способности операций чтения (количество операций ввода-вывода в секунду)

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

В психологии есть термин "кривая забывания". По сути, это говорит о том, что со временем наши воспоминания тускнеют. От забывания того, где мы разместили наши ключи, до специфической терминологии в нашей отрасли, посещение этой кривой поражает быстро и неожиданно. Добавьте к этому поток информации, которую большинство из нас получает ежедневно (электронные письма, сообщения в slack, каналы Twitter и Instagram), и может показаться, что любая надежда на долгосрочную организацию — это игра с нулевой суммой.

Дилемма, с которой мы сталкиваемся, по сути, связана с хранением. У нас ограниченный объем памяти, так что же нам следует сохранить, а что забыть? Именно здесь внутренняя работа кеша может дать отличные сведения.

У нас ограниченный объем памяти, поэтому что следует сохранить, а что забыть?

Кэш, разве это не компьютерная штука?

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

Наименее использовавшиеся в повседневной жизни

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

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

Создание иерархии хранилищ

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

Итак, я повернулся к своей полной книжной полке. Я знал, что должен был сделать: обрезать и удалить.

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

Но есть еще кое-что. Я оставил текущую книгу, которую читал, на своем столе.

Этот диапазон доступа называется "иерархией хранения" или "многоуровневой памятью". Для самого последнего использованного предмета я поставил его на самое видное место. Книжная полка была вторым уровнем. И, наконец, моя полка для хранения ИКЕА была третьим ярусом, практически скрытым от глаз.

Что касается кеша, самые последние использованные элементы должны иметь наибольшую видимость.

Утешение в тайнике

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

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

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

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

Скорее всего, вам было предложено очистить его.

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

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

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

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

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

Устройства и программное обеспечение

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

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

Большинство компьютеров позволяют очищать кэш ЦП, что может помочь ускорить работу программ. Дэйв Джонсон/Business Insider

Веб-браузеры

Каждый веб-браузер, будь то Microsoft Edge, Chrome, Firefox или Safari, поддерживает собственный кеш.

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

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

Приложения

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

Преимущества кеша

С точки зрения пользователя кэш имеет три основных преимущества, в том числе:

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

Недостатки кэшей

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

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

Что значит очистить кеш?

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

Решение состоит в "очистке кеша", которая удаляет файлы, хранящиеся в кеше.

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

Помимо возможности очистки кеша в Windows или iOS, вот как очистить кеш в популярных веб-браузерах:

Мы также много писали о том, как очистить кеш на разных устройствах. Вот как очистить кеш на:

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

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

Но если у вас возникли проблемы с Mac, ПК или мобильным устройством, очистка кеша того стоит.

  • Изображения: логотипы, картинки, фоны и т. д.
  • HTML
  • CSS
  • JavaScript

Короче говоря, браузеры обычно кэшируют так называемые "статические ресурсы" – части веб-сайта, которые не меняются от посещения к посещению.

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

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

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

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

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

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

Например, вы можете заметить, что при первом открытии веб-страницы текст появляется перед изображениями. Это связано с тем, что текст небольшой и его загрузка занимает мало времени, в то время как для заполнения высококачественного изображения может потребоваться несколько секунд (вечность в вычислительном времени).

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

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

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

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

Некоторые подводные камни

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

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

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

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

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

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

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

На странице производительности Drupal в поле fieldset Cache у вас есть два варианта. Один из них – минимальный срок службы кэша, а – истечение срока действия кэшированных страниц.

В чем разница между этими двумя.

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

2 ответа 2

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

Первый наблюдатель: ни один из параметров в разделе КЭШИРОВАНИЕ не является взаимозависимым. Если бы они были, вы бы видели их в разных наборах полей (или как зависимые поля). Запишите это наблюдение, и мы вернемся к нему позже.

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

Когда вы выбираете эту опцию, вы, по сути, сообщаете Drupal

Эй, зверь, слушай, когда анонимный пользователь посещает мой сайт,

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

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

Теперь давайте перейдем к следующим параметрам, которые вы обычно используете.

Срок действия кэшированных страниц

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

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

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

Минимальный срок службы кэша

Если ваш сайт не имеет большого трафика или вы не уверены, какое это значение, лучше оставить это значение равным нулю.

Читайте также: