Тарифы Услуги Сим-карты

Что такое «Кэшированные данные» в телефонах и смартфонах Андроид. Что такое кэшированные данные в телефоне

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

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

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

- Кэширование может работать не для всех пользователе й - Вы открываете страницу - она загружается быстро. Но так ли это для всех пользователей? Кэширование очень часто позволяет оптимизировать время загрузки для большинства посетителей, но часто в реальности Вам надо чтобы страница загружалась быстро для всех без исключения (если следовать принципу six sigma). На практике запрос может промахиваться мимо кэша всегда для одного и того же пользователя, что еще более усугубляет ситуацию (Прим. переводчика : Я знаю совершенно реальный случай, когда в электронном магазине кэш срабатывал для 99% процентов пользователей и не работал для 1% посетителей имевших длинную историю покупок, как результат магазин работал медленно как раз для активных покупателей).

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

- Управление кэшем в реальности непростая задача - Вы когда-нибудь боролись с "убеганием кэша " или с ситуацией когда большое количество элементов кэша инвалидируются одновременно?

Альтернативный подход

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

Что это за способы?

Перед тем как вводить оптимизацию убедитесь что Вы прошлись по этому достаточно простому списку:

- Вы понимаете план исполнения каждого запроса? Если нет, установите long_query_time=0 и используйте команду mk-query-digest, чтобы получить полный список запросов. Выполните для каждого из них EXPLAIN, проанализируйте план исполнения.

Вы используете SELECT * чтобы потом использовать только небольшой набор столбцов? Или вы выбираете из БД много строк, но используете только некоторые из них? Если это так - то вы выбираете слишком много данных, ограничивая оптимизацию уровня СУБД, такую например как использование индексов.

Знаете ли Вы сколько именно запросов Вы используете для генерации одной страницы? Все ли они действительно необходимы? Можно ли какие-то из этих запросов превратить в один запрос или вообще убрать? (Прим. переводчика : Очень распространенная проблема. Реально знаю случай когда на странице отображался список учеников в классе, а затем в цикле для каждого ученика запрашивалась дополнительная информация, включая название класса. После переделки количество запросов сократилось с 61 до 3-х).

Думаю что как вывод можно сказать: «Оптимизация очень редко уменьшает сложность приложения. Старайтесь избегать усложнения, за счет оптимизации только того, что действительно надо оптимизировать» - цитата со слайда Джастина - instrumentation-for-php .

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

Прим. переводчика : Совершенно реальный диалог произошедший не так давно:
- Так у нас проблемы с производительностью, надо добавить кэширование, вертикальное партиционирование и NoSQL DB для логинов
- Парни - я тут посмотрел EXPLAIN - у Вас fullscan запрос на 4,000 строк, я попробовал создать индекс- все ускорилось в 26 раз.

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

1. Термин cache stampeding - я перевел как убегание кэша (был соблазн перевести как «просрачивание», но это было бы неправильно). Если коротко, это ситуация, когда например определенный запрос выполняется достаточно долго и результаты этого запроса кэшируются, когда затем эти данные рано или поздно уходят из кэша, и одновременно рендерится 10 страниц на которых эти данные нужны, то в БД отправляется 10 медленных запрсов, вместо одного. Обычно с этим борются пере запрашивая данные до того как они будут выкинуты из кэша. см например
2. Хочу обратить внимание, что в статье не говорится что кэшировать данные не надо. Их надо кэшировать, но только после того как Вы попробуете несколько простых способов оптимизации запросов к БД. Иными словами начинать надо с простого.

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

Сейчас я постараюсь на пальцах, предельно простым и понятным языком объяснить вам, что такое кэширование и почему его так важно использоваться. И так, человек заходит на ваш блог и видит одну из его страниц. Откуда эта страница берется? На сервере ее не найти в виде обычного html файла, который можно было бы открыть, посмотреть или отредактировать. Страница создается «на лету»:

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

Все это сливается воедино на стороне сервера, преобразуется в html код (сам WordPress работает с серверным языком программирования php), который отправляется на компьютер пользователя, где с помощью браузер отображается на экране монитора. Сложно? Не стоит вникать в детали, главное, что вы должны понять — страниц блога нет как таковых, они формируются для каждого посетителя каждый раз заново! Представляете, какие мощи на это нужно задействовать?

Кроме расхода ресурсов сервера, этот процесс занимает определенно время, что само собой негативно сказывается на скорости загрузки страниц сайта. Что же делать? Выход из этой ситуации простой — если у нас нет как таковых html файлов, нужно их создать! За это и отвечает кэширование .

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

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

Кэширование страниц сайта на WordPress

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

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

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

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

Стоимость старших моделей смартфонов завышена. Все мы прекрасно понимаем, что разница в цене между 16 ГБ и 32+ ГБ моделями неоправданно большая. Речь идёт и о iPhone, и о всём многообразии флагманских представителей Android. В итоге человек берёт младшую модель с 16 гигабайтами хранилища на борту в надежде, что этого хватит. Но, зачастую реальность не оправдывает его ожидания.

Что съедает память в смартфоне

Для начала нужно понять, что указанный производителем объём памяти в устройстве - это не то же самое, что доступный пользователю объём памяти. То есть, на практике нам всегда доступно меньше памяти, чем написано на упаковке, и это справедливо как для iPhone, так и для семейства Android.

В обоих случаях операционная система устройства занимает 2-3 ГБ памяти, и вернуть их в распоряжение пользователя нельзя - эта пространство нужно для работы устройства.

Поэтому, когда вы подыскиваете новый смартфон, то считайте так: 16 ГБ на самом деле примерно равно 13 ГБ, а 32 ГБ - это в лучшем случае 29-30 ГБ.

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

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

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

Настройки -> Память -> тап на Данные кэша.

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

Настройки -> Приложения -> тап по толстому приложению -> Очистить кэш.

В iOS таких штатных средств нет, но есть сторонние утилиты .

В наши дни 1 ГБ для одной игры уже кажется вполне приемлемым. Периодическая чистка игр с предварительным вопросом к самому себе «буду ли я в это ещё играть?» поможет избавиться от надоевших и ненужных игрушек, которые продолжают занимать порядочное количество памяти. Это же справедливо для любых других приложений. Не понравилось приложение? Не планируете пользоваться им в будущем? Удалите его, не держите просто так на устройстве.

Загружаемая пользователем в устройство музыка становится всё качественнее. Некоторые уже не воспринимают 320 кбит mp3 и хотят только flac. Такие треки занимают в несколько раз больше места на устройстве.

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

Если речь идёт о фото и видео , то всё ещё хуже. В топовые актуальные смартфоны ставят 8+ мегапиксельные камеры, которые умеют снимать FullHD видео с высоким фреймрейтом и делать фото очень большого разрешения. Такие фото и видео занимают очень много места. Для примера, 1 час видео в качестве 1080p может занять на вашем смартфоне 10 ГБ места.

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

С хранением фотографий может помочь мобильное приложение Dropbox - в нём есть функция автоматического переноса снимков из памяти устройства в облако.

И всё же, чем более технологичными становятся наши мобильные устройства, тем больше будет требоваться места под приложения и контент. Производители понимают это, и зачастую идут навстречу пользователю, встраивая в смартфоны и планшеты слот под съёмные карты памяти . К сожалению, пользователи iPhone, гуглофонов и некоторых других линеек Android лишены такого преимущества. Google предлагает нам хранить все данные в Сети.

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

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

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

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

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

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

Что будет, если удалить кэш?

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

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

Вот данные кэша приложений в настройках смартфона:

А это — данные кэша для одного приложения.

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

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

Кэшированные данные на телефоне Самсунг

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

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

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

Можно ли удалять кэш?

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

  1. Если у вас на устройстве не хватает места - удаление cache-файлов, в принципе, производится первым.
  2. Наличие кэш-данных в Андроиде способствует более быстрой загрузке некоторых приложений (, Instagram , Одноклассники , Snapchat , мобильный браузер и другие).
  3. Удаление cache-данных может сказаться на скорости запуска некоторых приложений. Это вызвано тем, что запоминание иконок, фото, прописанного текста и прочей информации придется подгружать заново. В условиях слабого интернета это будет очень долго.
  4. Удаление кэш-файлов позволяет также очищать остаточный мусор и решает некоторые ошибки в работе приложений.

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