Содержание

Кеш или кэш? 13 иностранных слов, в которых надо писать «е» вместо «э» | Образование | Общество

«Московские новости» публикуют топ-13 иностранных слов, в которых надо писать «е» вместо «э», и одно русское слово, где все как раз наоборот. 

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

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

3. Кеш. Да-да, как ни странно, это слово, обозначающее наличность, мы можем найти в орфографическом словаре В. В. Лопатина именно в таком виде — похоже на орешки кешью. А вот компьютерный термин («пользователь удалил запись, но кэш «Яндекса» помнит все») пишется через «э»: по крайней мере такой вариант есть в словаре трудностей русского языка.

4. Хеллоуин. В орфографическом словаре В.В. Лопатина название этого праздника есть, и зафиксирована в нем именно буква «е», хотя через «э» это слово пишут очень часто. Но тут срабатывает общее правило: после согласного «е», а не «э».

В рубрике «Вспомнить все» объясняем правила русского языка так, чтобы стало понятно

5. Кашне и портмоне. В конце этих слов явно слышится «э», но пишутся они через «е» — это надо запомнить. А вот до революции все было по-другому: писали кашнэ, портмонэ. Это делалось для того, чтобы согласная «н» в этих словах не произносилась мягко, как в местоимении «мне».

6. Коттедж. Подчиняется общему правилу, пишется исключительно через «е». 

7. Стейк и брейк. Тут тоже велико искушение написать «брэйк», но не забывайте о правиле. К исключениям типа «мэра» и «пэра» новых слов пока никто не добавлял.

8. Мейл/имейл. Казалось бы, уж мейл-то точно должен писаться через «э»! Но и тут правило непоколебимо. Оба слова есть в орфографическом словаре.

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

10. Карате. Здесь ситуация как с кашне и портмоне. Раньше писалось «э», потом «е».

Владимир Пахомов, главный редактор Грамоты.ру: 

— Когда в 2009 году возник скандал со словарями и журналисты стали писать о том, что в них появились «йогУрт» и «черное кофе», под горячую руку попало и карате. «Теперь можно писать «карате»!» — писали журналисты как о какой-то новой норме. А на самом деле «э» в этом слове сменилось на «е» еще в конце 1990-х и официально закрепилось в таком виде в словарях.

Одно русское слово. Может возникнуть вопрос: почему же через «э» пишется слово «зэк» (а именно такой, единственный, вариант дает новый орфографический словарь). По правилам через «э» пишутся названия букв: бэ, вэ, гэ, дэ и т. д. Это же правило распространяется и на аббревиатуры, которые состоят из названий букв. Слово «зэк», как известно, представляет собой именно аббревиатуру з/к, что означает «заключенный контингент». Аналогичные примеры — кавээнщик, кагэбэшник, эсэмэска.

Интересный факт 

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

Элегантная коляска в электрическом биеньи

Эластично шелестела по прибрежному песку…

Я в электрической коляске на эллиптических рессорах…

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

КЭШ-БУФЕР — Перевод на английский

RussianЗаполненный кэш браузера может негативно повлиять на работу функций и производительность Google Mail.

A full web browser1 cache can interfere with Google Mail’s features and performance.

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

If the browser you’re using or a page you’re viewing is displaying problems, try to clear the browser’s cache.

RussianОзнакомьтесь с инструкциями по очистке кэша в любом популярном веб-браузере в разделе «Как очистить кэш?».

Please read Clearing your cache for instructions on clearing your cache in any of the popular web browsers.

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

If the browser3 you’re using or a page you’re viewing is displaying problems, try to clear the browser’s cache.

RussianОчистите кэш браузера

Clearing your browser cache may resolve the problem you’re experiencing.

RussianВ разделе «Кэш» нажмите кнопку Очистить сейчас.

In the «Cache» section, click Clear Now.

RussianВ разделе «Дисковый кэш» нажмите Очистить.

In the «Disk cache» section, click Empty Now.

RussianТекущий кэш вашего сайта

The current cache of your site

RussianУстановите флажок «Кэш«.

Select the «Cache» checkbox.

RussianВыберите Очистить кэш.

Как очистить кэш Firefox | Справка Firefox

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

  1. На Панели меню в верхней части экрана щёлкните и выберите .
    Нажмите на кнопку меню и выберите .Нажмите на кнопку меню и выберите .

  2. Выберите панель .
  3. В разделе Куки и данные сайтов, щёлкните по кнопке Удалить данные….
  4. Снимите галочку напротив Куки и данные сайтов.
  5. С установленной галочкой напротив Кэшированное веб-содержимое щёлкните по кнопке Удалить.
  6. Закройте страницу about:preferences. Любые сделанные изменения будут сохранены автоматически.

Можно настроить Firefox таким образом, чтобы очистка кэша производилась автоматически при каждом выходе из Firefox:

  1. На Панели меню в верхней части экрана щёлкните и выберите .
    Нажмите на кнопку меню и выберите .Нажмите на кнопку меню и выберите .

  2. Выберите панель и перейдите в раздел История.

  3. В выпадающем меню рядом с Firefox выберите .
  4. Отметьте галочкой Очищать историю при закрытии Firefox.
  5. Щёлкните по кнопке Параметры…, находящуюся рядом с надписью Очищать историю при закрытии Firefox. Откроется окно Настройки очистки истории.
  6. В открывшемся окне Настройки очистки истории отметьте галочкой Кэш.
  7. Щёлкните по кнопке OK, чтобы закрыть окно Настройки очистки истории.
  8. Закройте страницу about:preferences. Любые сделанные изменения будут сохранены автоматически.

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

Что такое «кэш» и как его очистить? Просто о сложном

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

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

Чистка кэша в Mozilla Firefox

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

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

Почему надо очищать кэш?

Очистка кэша в Chrome

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

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

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

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

Очистка кэша: вот как это работает

Теперь мы поэтапно объясним, как очистить кэш.

  • Откройте браузер.
  • Удерживайте клавиши «Ctrl» + «Shift» + «Delete», чтобы очистить кэш.
  • Очистите его, выбрав необходимые параметры.

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

Очистка кэша в Opera.

Кэш нужно удалять не только в браузерах. Даже программы и системы, такие как Mac OS X, Outlook, Spotify и Xbox One можно избавить от кэша.

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

Фото: ICHIP.ru, pixabay.com

Как почистить кэш на Айфоне: если память заполнена

Как очистить кэш на iPhone

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

Что такое кэш и зачем его чистят

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

Что же плохого в том, чтобы быстрее открывать интересующие человека страницы? Например, профиль в Фейсбук или Инстаграм. Плохого в этом нет ничего, однако, чем больше таких данных сохраняется в кэше, тем медленнее смартфон функционирует. В последствие основная часть копий этой однообразной информации не используется приложениями и просто лежит “мертвыми” мегабайтами в кэше гаджета. Чтобы очистить память Айфона от такого мусора, достаточно произвести несколько простых манипуляций. В результате удастся сэкономить 1-2 Гб памяти и не потерять важных данных.

Как почистить куки на Айфоне и кэш браузеров

Чтобы освободить память Айфона следует в первую очередь заняться браузерами. Компания Apple оснастила свои смартфоны обозревателем Safari. Дополнительно пользователи также устанавливают другие популярные браузеры, такие как Google Chrome, Opera, Firefox, Яндекс Браузер. В процессе работы каждое из этих приложений кэширует все посещенные страницы и данные о сайтах. В итоге память Айфона заполнена и места для другого контента не хватает.

  • Как очистить кэш в Сафари на Айфоне
  • Чтобы очистить кэш Сафари iPhone 8+, войдите в меню “Настройки” и переместитесь вниз страницы. Выберите опцию “Очистить историю и данные веб-сайта”. Это действие приводит к удалению кэша, файлов-куки, истории посещения и другой информации, хранящейся в папках браузера.

  • Очищаем кэш Google Chrome на iPhone
  • Для очистки кэша в Google Chrome нужно запустить этот браузер и в правом нижнем углу нажать на три точки. В развернувшемся меню выбирайте “История”, затем “Очистить историю”. В строке “Временной диапазон” установите “За все время”. В списке отмечайте все пункты, кроме “Сохраненные пароли”, ведь никому не хочется заново проходить авторизацию на каждом сайте. Удаление кэша Гугл Хрома быстро поможет освободить место на Айфоне 6S.

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

  • Как стереть кэш в браузере Opera на Айфоне
  • Как и с предыдущими обозревателями, Оперу на Айфоне нужно для начала запустить. Но отметку для входа в меню искать не придется, но это не помешает качественно почистить куки на Айфоне. На главном экране выведена кнопка “История”, нажмите ее. Откроется вкладка с персональной историей поиска. В правом верхнем углу экрана нажмите на троеточие и выберите опцию “Очистить историю”. Затем снова птичками отмечайте все, что необходимо стереть и жмите справа вверху кнопку “Очистить”.

  • Как почистить кэш Яндекс Браузера на Айфоне
  • Откройте Яндекс Браузер и выйдите на стартовую страницу, нажав слово “Главная” в шапке окна. По центру появится поисковая строка, нажмите на ней троеточие. Развернется внутреннее меню с названием учетной записи и прочими опциями. Войдите в меню “Настройки” и выберите “Очистить данные”. Снова в списке отмечайте те пункты, которые будут удалены и нажимайте кнопку “Очистить”. 

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

    Как очистить кэш приложения на Айфоне

    Основную память на любом мобильном телефоне занимают файлы мультимедиа, а также приложения, которые работают с изображениями и видео. К таковым относятся мессенджеры, социальные сети, видеохостинги, навигаторы. После очистки кэша и куки-файлов браузеров, необходимо обязательно “пройтись с метлой” по закоулкам ВКонтакте, Instagram, Facebook, Viber, Telegram и YouTube. Это значительно поможет очистить кэш Айфона от мусора.

    Почистить кэш любых приложений можно точно так же, как описано в разделе браузеров. Но если вы отыскали ненужную программу – удалите ее. Это легко сделать через меню основных настроек телефона. Зайдите в “Настройки” Айфона, кликните на “Основные” и войдите в “Хранилище iPhone”. Откроется полный список установленных на устройстве приложений. Отыщите “программу-жертву” (например, Вайбер), откройте ее персональную страницу, кликните “Удалить приложение”.

  • Как очистить кэш Инстаграм на Айфон
  • Мобильное приложение Instagram ежедневно запускают миллионы человек на планете. Оно съедает массу памяти как в галерее, так и в кэше самой программы. Чтобы очистить кэш Инстаграм Айфона нужно открыть приложение и нажать на значок профиля в правом нижнем углу экрана. Затем следует открыть меню, тапнув на три горизонтальные строки в правом верхнем углу. В развернувшемся меню перейдите в раздел “Настройки”, далее “Безопасность” и наконец “Очистка истории поиска”. Все недавние поисковые запросы будут представлены списком. Для удаления этих данных нажмите “Очистить все” в правом верхнем углу экрана. 

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

  • Как очистить кэш Фейсбука на Аайфоне
  • Фейсбук также кэширует аудио, видео и фото материалы для ускоренной работы приложения. Они быстро устаревают, но не удаляются самостоятельно. Чтобы очистить кэш Facebook на iPhone запустите приложение и войдите в аккаунт под своим паролем. Нажмите на значок Меню в правом нижнем углу экрана. Войдите в раздел “Настройки и конфиденциальность” и выберите меню “Настройки”. В следующем окне зайдите в настройки “Браузера” и “Удалите данные о посещении сайтов”.

  • Как очистить кэш ВКонтакте на iPhone 8
  • Российская социальная сеть ВКонтакте стала последовательницей Фейсбук и скрашивает досуг миллионов людей. Мобильное приложение ВК также требует периодической очистки. Поэтому войдите в профиль под своим паролем и нажмите значок Меню в правом нижнем углу. Далее перейдите в меню Настройки, тапнув значок шестеренки в правом верхнем углу. Войдите в раздел “Основные” настройки и выберите “Очистить кэш”.

  • Как очистить кэш Вайбера на Айфоне 6S
  • Viber популярен у пользователей различных возрастных категорий. Часто семьи общаются именно через этот мессенджер. Всем знакомые чаты детского сада, школы и работы засоряют телефон открытками, мэмами, песнями и прочим мусором. Как очистить кэш Viber на iPhone? Запустите приложение под своим аккаунтом, нажмите на значок “Ещё” внизу справа. Перейдите в меню “Настройки”, выберите “Мультимедиа”. Разработчик предоставляет возможность отключить принудительное сохранение в галерею на Айфоне всего, что присылается в вайбер. Достаточно выбрать период, который будут храниться файлы после получения. Когда этот срок истечет, программа самостоятельно сотрет старый контент с Айфона. Нажмите “Хранить медиафайлы” и выберите подходящий срок хранения в выпадающем списке.

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

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

    Чтобы удалить кэш Телеграмм на Айфоне войдите в программу под своей учетной записью. Нажмите на значок Меню в левом верхнем углу экрана, перейдите в раздел “Настройки”. Откройте вкладку “Данные и память” и разверните окно “Использование медиа”. Здесь есть возможность назначить срок хранения файлов, как и в вайбере. В разделе “Хранить медиа” есть ползунок, его можно сдвигать на удобный период, по истечению которого данные будут стираться. Также в данном разделе можно избавиться от кэша, нажав “Очистить кэш в Telegram”. 

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

    Очистка оперативной памяти iPhone

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

    1. iPhone 6S – боковая кнопка, перетаскивание ползунка на экране;
    2. iPhone 8 – верхняя или боковая кнопка + ползунок на экране;
    3. iPhone X и новые версии – боковая кнопка + кнопка громкости + слайдер.

      

    После перезапуска устройства оперативная память iPhone очистится, а работа смартфона ускорится. 

    Общий сброс настроек iPhone для полной очистки

    Чтобы сбросить все настройки и кэши разом можно применить Общий сброс. Но, если пользователь не сделает предварительно резервные копии личных данных, система сотрет всю информацию. Чтобы совершить такой сброс нужно войти в Меню “Настройки”, выбрать “Общие”, далее “Сброс” и “Сбросить все настройки”. 

    Все вышеперечисленные способы очистки кэша Айфона тестировались на моделях 6S и 8. Выполняя такие операции регулярно, будет легко сохранить память на смартфоне. Однако с этой задачей также хорошо справляются и специализированные программы, типа: Magic Phone Cleaner, PhoneClean Pro, Clean Doctor. Ознакомьтесь с ними в AppStore и решите, какой способ подойдет именно вам.

    Лучшие способы очистки кэша на Андроиде

    Своевременное освобождение кэша на «Андроиде» помогает оптимизировать работу смартфона. Хранилище заполняется из-за накапливания большого количества временных файлов, которые система телефона не может удалить автоматически. Чистку делают как вручную, так и с помощью специальных приложений из Google Play Market.

    Самостоятельная чистка

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

    1. Зайти в «Настройки» и найти там пункт «Приложения».
    2. В параметрах выбрать опцию «Очистить кэш».

    Для полной очищения необходимо будет воспользоваться файловыми менеджерами (например, «Проводник»). Сделать это несложно:

    1. Открыть папку «sdcard».
    2. Перейти в «DCIM/.thumbnails» и удалить файлы внутри.
    3. Зайти в «Agent» и очистить «Cache» и «Preview».

    На заметку!

    Освобождение промежуточного буфера от «лишнего» материала также удаляет и системные вирусы.

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

    Специальные приложения

     

    Чистящие программы есть и на русском, и на английском языке. Приложения, которые можно назвать лучшими для очистки cash-памяти:

    • Clean Master.
    • Мастер очистки.
    • History Eraser.
    • Smart Booster.
    • 1Tap Cleaner

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

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

    Оперативное запоминающее устройство

    Оперативная память смартфона также заполняется файлами, тормозящими нормальное функционирование. Очистить ОЗУ можно с помощью ручного способа: завершить работу неиспользуемых в данный момент операций. Это увеличит скорость работы телефона на базе «Android 4» и других версий операционной системы.

    На смартфонах «Samsung» можно завершить процессы, работающие в фоновом режиме, посредством функции «Оптимизация» в разделе настроек. Там вы выбираете либо полную очистку, либо исключительно очищение ОЗУ. Телефоны других фирм оптимизируют, используя кнопку «Домой». Её нужно нажать и удерживать до того, как появится список недавно используемых программ. Нужно просто закрыть их.

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

    Можно ли очистить кэш на телефоне – способы

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

    Способы очистки кэша в системе Android

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

    Теперь разберемся, где находится кэш в смартфоне и как его правильно чистить:

    • откройте “Настройки” и найдите меню “Память” или “Хранилище”, выберите пункт “Кэш” и подтвердите очистку или дополнительно нажмите на соответствующую опцию, – это очистит данные всех приложений в смартфоне;
    • также Вы можете удалить данные только одного приложения, – например, если Вы им редко пользуетесь, а загружаемая программой информация не представляет ценности и занимает много места, – для этого в списке всех приложений откройте необходимое Вам и в его меню “Память” нажмите “Очистить кэш”;
    • кроме того, регулярно проводить простую и полезную очистку кэша Вам помогут специальные программы из Play Market, целенаправленно для этого разработанные и проверенные миллионами пользователей, – например, CCleaner и CleanMaster.

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

    Можно ли почистить кэш на смартфоне?

    2.3 (46.67%) 3 голос(ов)

    Определение кэша Merriam-Webster

    \ ˈKash

    \

    : тайник, специально предназначенный для сокрытия и хранения продуктов или инвентаря.

    б

    : безопасное место хранения

    обнаружил тайник с оружием

    2

    : что-то спрятанное или сохраненное в кеше

    Тайник состоял из документов и личных писем.

    3

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

    — также называется
    кеш-память

    переходный глагол

    : для помещения (чего-либо) в кеш: например,

    а

    : для размещения или хранения (чего-либо) в скрытом или безопасном месте в целях безопасности или сокрытия

    тайник лагеря припасы у озера монеты в кешке в чайнике

    б
    компьютеры

    : для помещения (инструкций или данных) в кэш-память для временного хранения

    кеширование веб-сайтов для ускорения поиска в будущем

    Cash vs.Кэш

    Английский — сложный язык. В английском языке есть слова, которые звучат одинаково, но имеют разное написание и значение. Эти слова называются омофонами, и они вызывают недоумение как у молодых учеников, так и у местных жителей. Cash и cache — пример пары одинаковых омофонов. Многие люди произносят cache как kayshe или kachay, но правильное произношение cache точно так же, как cash.

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

    Происхождение:

    Наличные деньги возникли в конце 16 века (обозначает ящик для денег): от старофранцузского casse или итальянского cassa «ящик», от латинского capsa (см. Case2).

    Наличные как существительное:

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

    Оплата работникам производилась наличными.

    Кэш как существительное:

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

    Мы подошли к тайнику с оружием.

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

    Типичный размер кэша составляет от 64 КБ до 256 КБ.

    Примеры :

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

    Тайник с десятью минометными снарядами, двумя автоматами Калачникова и важным количеством боеприпасов был обнаружен в пятницу в Тин-Зауатине отрядом Национальной народной армии (ННП), говорится в сообщении Министерства национальной обороны (МДН).(Algerie Presse Service)

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

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

    По словам следователей, Ховард брал чеки, выписанные в гольф-клуб Jacaranda, клал их в кассу в профессиональном магазине, но вводил сумму, меньшую номинальной стоимости чека.(Часовой Солнца)

    Философия программы денежных переводов Project Issara проста: никто не знает нужды жертв торговли людьми лучше, чем сами жертвы. (The Christian Science Monitor)

    Кэш или кэш:

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

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

    Понять? Мы вас не виним!

    Что такое кэш? Полное руководство по тайникам и их использованию

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

    Идет загрузка.

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

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

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

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

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

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

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

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

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

    настольный компьютер
    , ноутбук, смартфон или планшет — имеет собственный кеш.

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

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

    Дэйв Джонсон / Business Insider

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

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

    В кэше браузера хранятся файлы, необходимые вашему браузеру для отображения посещаемых им веб-сайтов. Сюда входят такие элементы, как HTML-файл, описывающий сайт, а также таблицы стилей CSS, сценарии Javascript, файлы cookie и изображения.

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

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

    Приложения

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

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

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

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

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

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

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

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

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

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

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

    В каждом браузере есть простой способ очистить кэш.

    Дэйв Джонсон / Business Insider

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

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

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

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

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

    Дэйв Джонсон

    Писатель-фрилансер

    Что такое кэш (вычисление)? — Определение от WhatIs.com

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

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

    Кэш

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

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

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

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

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

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

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

    Кэш важен по ряду причин.

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

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

    Алгоритмы кеширования

    Инструкции по обслуживанию кеша предоставляются алгоритмами кеширования.Некоторые примеры алгоритмов кеширования включают:

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

    Политики кеширования

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

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

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

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

    Популярные способы использования кеша

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

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

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

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

    Деннис Мартин, президент Demartek, объясняет преимущества использования SSD в качестве кеша.

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

    Типы аппаратного кэша

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

    Кэш

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

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

    Кэш-память ЦП

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

    Последние запрошенные данные — это обычно данные, которые потребуются снова. Следовательно, ЦП сначала проверяет кэш уровня 1 (L1).Если запрошенные данные найдены, ЦП не проверяет кэш уровня 2 (L2). Это экономит время, поскольку процессору не нужно выполнять поиск по всей кэш-памяти.

    Кэш

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

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

    Буфер резервного преобразования ( TLB ) — это кэш памяти, в котором хранятся последние преобразования виртуальной памяти в физические адреса и ускоряются операции с виртуальной памятью.

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

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

    TLB

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

    Кэш и ОЗУ

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

    Кэш ОЗУ, с другой стороны, обычно включает постоянную память, встроенную в материнскую плату, и модули памяти, которые могут быть установлены в специальные слоты или места для подключения. Шина материнской платы обеспечивает доступ к этим воспоминаниям.

    Кэш-память ЦП

    в 10–100 раз быстрее, чем ОЗУ, и для ответа на запрос ЦП требуется всего несколько наносекунд.Кэш ОЗУ, однако, быстрее реагирует на запросы, чем магнитные носители, которые обеспечивают ввод-вывод со скоростью в миллисекунды.

    Кэш и буфер

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

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

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

    Что такое кэш-память? Кэш-память в компьютерах, объяснение

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

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

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

    Чем он жертвует в размере и цене, он компенсируется скоростью. Кэш-память работает от 10 до 100 раз быстрее, чем ОЗУ, и для ответа на запрос ЦП требуется всего несколько наносекунд.

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

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

    Типы кэш-памяти

    Кэш-память — это быстро и дорого. Традиционно его относят к «уровням», которые описывают его близость и доступность для микропроцессора.Есть три общих уровня кеширования:

    Кэш L1 , или первичный кэш, очень быстрый, но относительно небольшой и обычно встраивается в микросхему процессора в качестве кэша ЦП.

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

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

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

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

    Схема архитектуры и потока данных типичного блока кэш-памяти.

    Отображение кэш-памяти

    Конфигурации кэширования

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

    • Кэш с прямым отображением имеет каждый блок, сопоставленный ровно с одной ячейкой кэш-памяти.Концептуально кэш с прямым отображением похож на строки в таблице с тремя столбцами: блок кеша, содержащий фактические данные, полученные и сохраненные, тег со всем или частью адреса данных, которые были получены, и бит флага, который показывает наличие в строке записи допустимого бита данных.
    • Полностью ассоциативное отображение кэша аналогично прямому отображению по структуре, но позволяет отображать блок памяти в любое место кэша, а не в заранее заданное расположение кэш-памяти, как в случае с прямым отображением.
    • Установить ассоциативное отображение кэша можно рассматривать как компромисс между прямым отображением и полностью ассоциативным отображением, в котором каждый блок отображается на подмножество ячеек кэша. Иногда его называют ассоциативным отображением N-way set, которое обеспечивает кэширование места в основной памяти в любое из «N» мест в кэше L1.

    Политики записи данных

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

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

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

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

    Специализация и функционал

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

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

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

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

    Изображение иерархии памяти и того, как она функционирует

    Населенный пункт

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

    Есть несколько типов населенных пунктов. Два ключевых для кеша:

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

    Производительность

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

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

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

    Диаграмма сравнения кэш-памяти с другими типами памяти

    Кэш и основная память

    DRAM

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

    DRAM

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

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

    Пример динамического ОЗУ.

    Кэш и виртуальная память

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

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

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

    Реализация и история

    В мэйнфреймах

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

    В 1980-х годах появилась идея, что небольшое количество более дорогой и быстрой SRAM можно было бы использовать для повышения производительности менее дорогой и медленной основной памяти.Первоначально кэш памяти был отделен от системного процессора и не всегда входил в состав набора микросхем. Ранние ПК обычно имели от 16 до 128 КБ кэш-памяти.

    С 486 процессорами Intel добавила 8 КБ памяти ЦП в качестве памяти уровня 1 (L1). В этих системах использовалось до 256 КБ внешней кэш-памяти уровня 2 (L2). В процессорах Pentium объем внешней кэш-памяти снова удвоился до 512 КБ на верхнем уровне. Они также разделяют внутреннюю кэш-память на два кэша: один для инструкций, а другой для данных.

    Процессоры

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

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

    Что такое кеширование и как оно работает

    Узнайте о различных отраслях и различных сценариях использования кэширования

    мобильный

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

    AWS Mobile Hub — это консоль, которая обеспечивает интегрированный интерфейс для обнаружения, настройки и доступа к облачным сервисам AWS для создания, тестирования и мониторинга использования мобильных приложений.

    Интернет вещей (IoT)

    Интернет вещей — это концепция, лежащая в основе сбора и доставки информации с устройства и физического мира через датчики устройства в Интернет или приложение, использующее данные.Ценность Интернета вещей заключается в том, что они способны понимать собранные данные с интервалами, близкими к реальному времени, что в конечном итоге позволяет потребляющей системе и приложениям быстро реагировать на эти данные. Возьмем, к примеру, устройство, которое передает свои координаты GPS. Ваше IoT-приложение может отреагировать, предложив точки интереса относительно близости этих координат. Кроме того, если вы сохранили предпочтения, относящиеся к пользователю устройства, вы могли бы точно настроить эти рекомендации с учетом этого человека.В этом конкретном примере скорость, с которой приложение может реагировать на координаты, имеет решающее значение для достижения наилучшего взаимодействия с пользователем. Кэширование может играть здесь важную роль, например, точки интереса вместе с географическими координатами могут быть сохранены в хранилище ключей / значений, таком как Redis, чтобы обеспечить быстрое извлечение. С точки зрения разработки приложений вы можете, по сути, закодировать свое IoT-приложение так, чтобы оно реагировало на любое событие, если для этого есть программные средства. Важные соображения, которые необходимо учитывать при построении архитектуры IoT, включают время отклика, связанное с анализом полученных данных, проектированием решения, которое может масштабировать N количество устройств, и предоставлением рентабельной архитектуры.

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

    Дополнительная литература: управление данными Интернета вещей и временных рядов с помощью Amazon ElastiCache для Redis

    Рекламные технологии

    Современные приложения Ad Tech особенно требовательны к производительности. Примером значительного роста в AdTech является назначение ставок в реальном времени (RTB), которое представляет собой основанный на аукционе подход к размещению цифровых медийных объявлений в реальном времени на наиболее детализированном уровне показов.RTB был доминирующим методом транзакций в 2015 году, на него приходилось 74,0% рекламы, приобретаемой программным способом, или 11 миллиардов долларов в США (по данным eMarketer Analysis). При создании приложения для ставок в реальном времени миллисекунда может быть разницей между своевременной подачей заявки и ее утратой. Это означает, что получение информации о торгах из базы данных должно происходить очень быстро. Кэширование базы данных, которое может получить доступ к деталям ставок за доли миллисекунды, является отличным решением для достижения такой высокой производительности.

    Игры

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

    Чтобы узнать больше о разработке игр на AWS, щелкните здесь.

    Медиа

    Медиа-компании часто сталкиваются с необходимостью передавать своим клиентам большой объем статического контента с постоянно меняющимся числом читателей / зрителей. Примером может служить сервис потокового видео, такой как Netflix или Amazon Video, который передает зрителям большой объем видеоконтента.Это идеально подходит для сети доставки контента, где данные хранятся на глобально распределенном наборе кэширующих серверов. Еще один аспект мультимедийных приложений — это резкая и непредсказуемая нагрузка. Представьте себе блог на веб-сайте, о котором только что написала знаменитость, или веб-сайт футбольной команды во время Суперкубка. Такой большой всплеск спроса на небольшую подмножество контента является проблемой для большинства баз данных, поскольку их пропускная способность на ключ ограничена. Поскольку память имеет гораздо более высокую пропускную способность, чем диск, кеш базы данных решит проблему, перенаправив операции чтения в кэш памяти.

    Электронная торговля

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

    Социальные сети

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

    Здравоохранение и благополучие

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

    Чтобы узнать больше о создании приложений для здравоохранения на AWS, щелкните здесь.

    Финансы и финансовые технологии

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

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

    Кэширование на стороне сервера — Apollo Server

    Новое в Apollo Server 3 : Вы должны вручную определить директиву @cacheControl в своей схеме, чтобы использовать подсказки статического кеша.См. ниже.

    Apollo Server позволяет вам определять настройки управления кешем ( maxAge и scope ) для каждого поля в вашей схеме:

    Копия

      type Post {
      я сделал!
      title: String
      автор: Автор
      голосов: Int @cacheControl (maxAge: 30) комментарии: [Комментарий]
      readByCurrentUser: Boolean! @cacheControl (maxAge: 10, область действия: ЧАСТНАЯ)}  

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

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

    Обратите внимание, что при настройке подсказок кеша важно понимать:

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

    Эти детали могут значительно различаться даже среди полей одного типа объекта.

    В вашей схеме (статической)

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

    Чтобы использовать директиву @cacheControl , вы должны добавить следующие определения в схему вашего сервера:

    Копировать

      enum CacheControlScope {
      ПУБЛИЧНЫЙ
      ЧАСТНЫЙ
    }
    
    директива @cacheControl (
      maxAge: Int
      область: CacheControlScope
      inheritMaxAge: Boolean
    ) в FIELD_DEFINITION | ОБЪЕКТ | ИНТЕРФЕЙС | СОЮЗ  

    Если вы не добавите эти определения, Apollo Server выдает ошибку Неизвестная директива «@cacheControl» при запуске.

    Директива @cacheControl принимает следующие аргументы:

    Имя Описание
    maxAge Максимальное время действия кэшированного значения поля в секундах. Значение по умолчанию - 0 , но вы можете установить другое значение по умолчанию.
    scope Если PRIVATE , значение поля специфично для одного пользователя.Значение по умолчанию - PUBLIC . См. Также Идентификация пользователей для ответов ЧАСТНЫЕ .
    inheritMaxAge Если истинно , это поле наследует maxAge своего родительского поля вместо использования по умолчанию maxAge . Не указывайте maxAge , если вы указываете этот аргумент.

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

    Важно: Apollo Server назначает каждому ответу GraphQL maxAge , равное наименьшему maxAge среди включенных полей. Если какое-либо поле имеет maxAge из 0 , ответ вообще не будет кэшироваться.

    Аналогично, Apollo Server устанавливает область ответа на ЧАСТНОЕ , если любое включенное поле равно ЧАСТНОЕ .

    Определения на уровне поля

    В этом примере определяются параметры управления кешем для двух полей типа Post : голосов, и readByCurrentUser :

    schema.graphql

    Копия

      type Post {
      я сделал!
      title: String
      автор: Автор
      голосов: Int @cacheControl (maxAge: 30) комментарии: [Комментарий]
      readByCurrentUser: Boolean! @cacheControl (maxAge: 10, область действия: ЧАСТНАЯ)}  

    В этом примере:

    • Значение поля голосов кэшируется максимум на 30 секунд.
    • Значение поля readByCurrentUser кэшируется максимум на 10 секунд, и его видимость ограничена одним пользователем.
    Определения на уровне типов

    В этом примере определяются параметры управления кешем для всех полей схемы , которые возвращают объект Post :

    schema.graphql

    Скопируйте

      введите Post @cacheControl (maxAge: 240) {id: Int!
      title: String
      автор: Автор
      голосов: Int
      комментарии: [Комментарий]
      readByCurrentUser: Boolean!
    }  

    Если другой тип объекта в этой схеме включает поле типа Post (или список из Post s), значение этого поля кэшируется максимум на 240 секунд:

    Схема

    .graphql

    Копия

      type Комментарий {
      сообщение: Опубликовать!
      тело: Строка!
    }  

    Обратите внимание, что настройки на уровне поля имеют приоритет над настройками на уровне типа. В следующем случае сообщение Comment.post кэшируется максимум на 120 секунд, не на 240 секунд:

    schema.graphql

    Копия

      type Комментарий {
      сообщение: Опубликовать! @cacheControl (maxAge: 120)
      тело: Строка!
    }  

    В ваших резольверах (динамических)

    Вы можете решить, как кэшировать результат определенного поля, в то время как вы его разрешаете.Для поддержки этого Apollo Server предоставляет объект cacheControl в параметре info , который передается каждому преобразователю.

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

    cacheControl.setCacheHint

    Объект cacheControl включает метод setCacheHint , который вы вызываете следующим образом:

    Копировать

      преобразователи констант = {
      Запрос: {
        post: (_, {id}, _, info) => {
          Информация.cacheControl.setCacheHint ({maxAge: 60, область действия: 'ЧАСТНАЯ'}); return find (сообщения, {id});
        }
      }
    }  

    Метод setCacheHint принимает объект с полями maxAge и scope .

    cacheControl.cacheHint

    Этот объект представляет текущую подсказку кэша поля. Его поля включают следующее:

    cacheControl.cacheHintFromType

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

    Расчет поведения кеша

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

    • Ответ maxAge соответствует самому низкому значению maxAge среди всех полей. Если это значение равно 0 , весь результат будет , а не кэшировано.
    • Область ответа - ЧАСТНАЯ , если область любого поля - ЧАСТНАЯ .

    По умолчанию

    max Возраст

    По умолчанию следующие поля схемы имеют maxAge из 0 , если вы не укажете один :

    • Корневые поля (т.е. поля типов Query , Mutation и Subscription )

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

    Вы можете настроить это значение по умолчанию.

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

    Почему это значения по умолчанию для

    maxAge ?

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

    Итак, следуем этой эвристике:

    • Резолверы корневого поля с большой вероятностью будут извлекать данные (потому что эти поля не имеют родителя), поэтому мы устанавливаем для них по умолчанию maxAge равным 0 , чтобы избежать автоматического кэширования данных, которые не должны кэшировать .
    • Резольверы для других нескалярных полей (объектов, интерфейсов и объединений) также обычно выбирают данные, потому что они содержат произвольно много полей. Следовательно, мы также устанавливаем для них значение по умолчанию maxAge на 0 .
    • Преобразователи для скалярных некорневых полей редко извлекают данные и вместо этого обычно заполняют данные через родительский аргумент . Следовательно, эти поля наследуют значение по умолчанию maxAge от своего родителя, чтобы уменьшить беспорядок в схеме.

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

    В идеале вы можете предоставить maxAge для каждого поля с преобразователем, который фактически извлекает данные из источника данных (например, базы данных или REST API). Большинство других полей могут затем унаследовать свои подсказки кеша от своих родительских (поля с преобразователями , которые не извлекают данные, реже имеют определенные потребности в кэшировании). Подробнее об этом см. Рекомендуемое начальное использование.

    Установка другого значения по умолчанию

    maxAge

    Вы можете установить значение по умолчанию maxAge , которое применяется к полям, которые в противном случае получают значение по умолчанию maxAge из 0 .

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

    Установите значение по умолчанию maxAge , передав плагин управления кешем в конструктор ApolloServer , например:

    Скопируйте

      import {ApolloServerPluginCacheControl} из 'apollo-server-core';
    
    const server = новый ApolloServer ({
      
      плагины: [ApolloServerPluginCacheControl ({defaultMaxAge: 5})],
    }));  

    Рекомендуемое начальное использование

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

    Пример

    Расчет maxAge

    Рассмотрим следующую схему:

    Копия

      type Query {
      книга: Книга
      cachedBook: Книга @cacheControl (maxAge: 60)
      читатель: Reader @cacheControl (maxAge: 40)
    }
    
    type Book {
      title: String
      cachedTitle: String @cacheControl (maxAge: 30)
    }
    
    type Reader {
      книга: Книга @cacheControl (inheritMaxAge: true)
    }  

    Давайте посмотрим на некоторые запросы и их результирующие значения maxAge :

    Копия

     
    
    query GetBookTitle {
      книга {
        cachedTitle
      }
    }
    
    
    
    
    query GetCachedBookTitle {
      cachedBook {
        заглавие
      }
    }
    
    
    
    
    query GetCachedBookCachedTitle {
      cachedBook {
        cachedTitle
      }
    }
    
    
    
    
    
    query GetReaderBookTitle {
      reader {
        книга {
          заглавие
        }
      }
    }  

    Для использования управления кешем с Apollo Federation требуется v0.28 из @ apollo / federation в вашем подграфе, v0.36 из @ apollo / gateway в вашем маршрутизаторе и v3.0.2 сервера Apollo на обоих серверах.

    При использовании Apollo Federation директива @cacheControl и перечисление CacheControlScope могут быть определены в схеме подграфа. Подграф на основе Apollo Server будет вычислять и устанавливать подсказку кеша для ответа, который он отправляет на шлюз, как это было бы для нефедеративного сервера Apollo, отправляющего ответ клиенту.Затем шлюз вычислит подсказку кеша для общего ответа на основе наиболее строгих настроек среди всех ответов, полученных от подграфов, участвующих в выполнении плана запроса.

    Установка подсказок кэша объектов

    Схемы подграфов содержат корневое поле _entities для типа Query , поэтому для всех планов запросов, требующих разрешения сущностей, по умолчанию будет установлено значение maxAge из 0 . Чтобы переопределить это поведение по умолчанию, вы можете добавить директиву @cacheControl в определение объекта:

    Скопируйте

      введите Book @key (fields: "isbn") @cacheControl (maxAge: 30) {
      isbn: Строка!
      title: String
    }  

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

    Для динамической установки подсказок кеша объект cacheControl и его методы также доступны в параметре info преобразователя __resolveReference .

    Переопределение подсказок кеша подграфов в шлюзе

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

    Кроме того, если шлюз должен игнорировать заголовки ответов Cache-Control из подграфов, которые будут влиять на политику кеширования операции, то вы можете установить для свойства honorSubgraphCacheControlHeader RemoteGraphQLDataSource значение false (это значение - true ) по умолчанию):

    Копировать

      const gateway = new ApolloGateway ({
      
      buildService ({url}) {
        вернуть новый RemoteGraphQLDataSource ({
          URL,
          honorSubgraphCacheControlHeader: false;
        });
      }
    });  

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

    Всякий раз, когда Apollo Server отправляет ответ операции, который имеет ненулевое значение maxAge , он включает HTTP-заголовок Cache-Control , который описывает политику кэширования ответа.

    Заголовок имеет следующий формат:

      Cache-Control: max-age = 60, частный  

    Если вы запускаете Apollo Server за CDN или другим кэширующим прокси-сервером, вы можете настроить его на использование значения этого заголовка для надлежащего кэширования ответов. Подробную информацию см. В документации вашего CDN (например, здесь документация по Amazon CloudFront).

    Использование запросов GET

    Поскольку CDN и кэширующие прокси кэшируют только запросы GET (а не запросы POST, которые Apollo Client отправляет для всех операций по умолчанию), мы рекомендуем включить автоматические постоянные запросы и опцию useGETForHashedQueries в Apollo Client.

    В качестве альтернативы вы можете установить опцию useGETForQueries для HttpLink в своем экземпляре ApolloClient . Однако большинство браузеров устанавливают ограничение на размер для запросов GET, и большие строки запроса могут превышать это ограничение.

    Вы можете запретить Apollo Server устанавливать заголовки Cache-Control , установив плагин ApolloServerPluginCacheControl самостоятельно и установив calculateHttpHeaders с на false :

    Скопируйте

      import {ApolloServerPluginCacheControl} из 'apollo-server-core';
    
    const server = новый ApolloServer ({
      
      плагины: [ApolloServerPluginCacheControl ({calculateHttpHeaders: false})],
    }));  

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

    Чтобы полностью отключить вычисления управления кешем, вместо этого установите подключаемый модуль ApolloServerPluginCacheControlDisabled (этот подключаемый модуль не имеет никакого эффекта, кроме предотвращения установки подключаемого модуля управления кешем):

    Скопируйте

      import {ApolloServerPluginCacheControlDisabled} из 'apollo-server-core';
    
    const server = новый ApolloServer ({
      
      плагины: [ApolloServerPluginCacheControlDisabled ()],
    }));  

    Вы можете кэшировать ответы на запросы Apollo Server в таких хранилищах, как Redis, Memcached или кэш в памяти Apollo Server.

    Настройка кэша в памяти

    Чтобы настроить кэш ответов в памяти, вы сначала импортируете responseCachePlugin и передаете его конструктору ApolloServer :

    Скопируйте

      import responseCachePlugin из 'apollo-server-plugin-response-cache';
    
    const server = новый ApolloServer ({
      
      плагины: [responseCachePlugin ()],
    });  

    При инициализации этот плагин автоматически начинает кэширование ответов в соответствии с полевыми настройками.

    Плагин использует тот же кеш LRU в памяти, что и другие функции Apollo Server. Для сред с несколькими экземплярами серверов вы можете вместо этого использовать бэкэнд с общим кешем, например Memcached или Redis.

    Помимо HTTP-заголовка Cache-Control , responseCachePlugin также устанавливает HTTP-заголовок Age на количество секунд, в течение которых возвращаемое значение находилось в кэше.

    Настройка Memcached / Redis

    См. Использование Memcached / Redis в качестве бэкэнда кеш-хранилища.

    Вы также можете реализовать свой собственный бэкэнд кеширования.

    Определение пользователей для

    ЧАСТНЫХ ответов

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

    Чтобы включить эту идентификацию, вы предоставляете функцию sessionId для вашего responseCachePlugin , например:

    Скопируйте

      import responseCachePlugin из 'apollo-server-plugin-response-cache';
    const server = новый ApolloServer ({
      
      плагины: [responseCachePlugin ({
        sessionId: (requestContext) => (requestContext.request.http.headers.get ('sessionid') || нулевой),
      })],
    });  

    Важно: Если вы не определяете функцию sessionId , ответы PRIVATE вообще не кэшируются.

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

    Если клиент позже выполняет точно такой же запрос и имеет тот же идентификатор, Apollo Server возвращает кэшированный ответ PRIVATE , если он все еще доступен.

    Разделение ответов для вошедших и вышедших из системы пользователей

    По умолчанию, кэшированные ответы PUBLIC доступны всем пользователям. Однако, если вы определяете функцию sessionId (как показано выше), Apollo Server кэширует до двух версий каждого ответа PUBLIC :

    • Одна версия для пользователей с нулевым значением sessionId
    • Одна версия для пользователей с ненулевым значением sessionId

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

    Настройка чтения и записи

    В дополнение к функции sessionId вы можете предоставить следующие функции для вашего responseCachePlugin для настройки чтения и записи кэша. Каждая из этих функций принимает в качестве параметра GraphQLRequestContext (представляющий входящую операцию).

    Функция Описание
    extraCacheKeyData Возвращаемое значение этой функции (любой объект, поддерживающий строку JSON) добавляется к ключу кэшированного ответа.Например, если ваш API включает переводимый текст, эта функция может возвращать строку, производную от requestContext.request.http.headers.get ('Accept-Language') .
    shouldReadFromCache Если эта функция возвращает false , Apollo Server пропускает кэш для входящей операции, даже если доступен действительный ответ.
    shouldWriteToCache Если эта функция возвращает false , Apollo Server не кэширует свой ответ для входящей операции, даже если maxAge ответа больше 0 .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    2024 © Все права защищены.