Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «кэширование»
[Перевод] Гид по заголовкам кэширования HTTP для начинающих 2015-03-15 20:20:07
... образом заголовки кэширования вписываются в ... Проще говоря, кэширование позволяет хранить веб ...
+ развернуть текст сохранённая копия
В статье данные сведения по заголовкам кэширования (ЗК) для HTTP и соответствующее поведение сетей доставки контента (CDN). Если вам хочется разобраться, каким образом заголовки кэширования вписываются в современный веб, или вам просто интересно, о чём говорят ваши коллеги – эта статья для вас.
Если вы уже понимаете преимущества ЗК, и хотите расширить свои знания, я рекомендую вам обратиться к документации от W3.
Что могут ЗК сделать для вас?
Проще говоря, кэширование позволяет хранить веб-ресурсы на удалённых точках по пути от вашего сервера к пользовательскому браузеру. Браузер тоже хранит у себя кэш, чтобы клиенты не запрашивали у вас постоянно одни и те же ресурсы.
Настройки кэширования веб-трафика крайне важны для посещаемых сайтов. Если вы платите за трафик, получаете доход от электронной коммерции, или просто хотите поддерживать свою репутацию хорошего веб-разработчика, вам нужно разбираться в том, как работает кэширование.
Читать дальше →
Тэги: cache, headers, веб-разработка, заголовки, кэширование, оптимизация, серверная, сетевые, технологии
Использование паттерна Proxy для организации кэширования на PHP 2014-10-16 00:00:09
... трудоёмкость впиливания кэширования таким ... методов в кэширование, например findById_Cached ...
+ развернуть текст сохранённая копия
Постановка задачи. Имеется действующий отлаженный проект на PHP, содержащий десяток моделей, в каждой из которых по 5 методов выборок данных. Проект растет, всё хорошо, но в определенный момент, под тяжестью нагрузки, назревает необходимость добавить каким-то образом кэширование обращений к моделям.
Возможные решения.
Первый способ «в лоб»: в каждый метод модели добавляем кэширование по стандартной схеме: проверить кэш, если есть актуальные данные, возвращаем их, если нет — выполняем метод, как было до этого и плюс в конце еще пишем, полученные из базы, данные в кэш. Сказать, что это ужасный способ значит, ничего не сказать, поэтому просто скажу, почему это плохо:
- Нарушается один из принципов SOLID, «код должен быть открыт для расширения, но закрыт для изменений», т.е. мы берем и ломаем уже отлаженный выпущенный в продакшн код для того, чтобы добавить новую функциональность, а это всегда вызывает шквал ошибок и как следствие недовольство пользователей и заказчика.
- В одном и том же коде смешивается логика получения данных и кэширование, что приводит к распуханию классов и беспощадному повторению кода.
- Сделав так, мы лишаемся возможности получить живые данные в обход кэша (следующим шагом будет добавление флага $nocache).
- Очень высокая трудоёмкость впиливания кэширования таким способом и ещё большая трудоёмкость выпиливания его потом.
Второй способ, «расширяем классы моделей»: добавляем в модели методы-дублеры, которые оборачивают вызовы существующих методов в кэширование, например findById_Cached().
Вроде бы лучше, существующие методы не трогаем, вместо этого добавляем новые. Но остальные минусы на месте:
- Смешивание логики.
- Размеры классов растут ещё больше, чем в предыдущем способе.
- Очень высокая трудоемкость (добавить 50 новых методов, в нашем примере) + заменить везде в приложении вызовы старых методов, на новые, а если в будущем придется кэширование выпиливать, то еще и повторить все действия назад.
Третий способ «кэширующий прокси», очень простое и быстрое решение, поражающее своим изяществом и скоростью внедрения. Как его сделать – смотрим код.
Читать дальше →
Тэги: php, кэширование
Опыт разработки движка тотального кэширования 2014-10-09 20:38:28
Я хотел бы рассказать о своём опыте создания движка под специализированный сайт, особенностью ...
+ развернуть текст сохранённая копия
Я хотел бы рассказать о своём опыте создания движка под специализированный сайт, особенностью которого является способность в идеальном случае не задействовать БД вовсе. Мне бы хотелось поделиться своим решением проблемы эпизодической высокой нагрузки и получить обратную связь по аналогичным решениям и улучшениям.
Итак, мне была поставлена задача разработать информационный сайт, основанный на пользовательском контенте — записям из блогов. Над сайтом работает редакция, которая собирает из интернета посты и составляет из них сюжеты, подкрепляя различной релевантной информацией. Специфика сайта такова, что при средней нагрузке в 5-10 тысяч посетителей в сутки в случае возникновения общественно важной темы, где свежую информацию можно почерпнуть именно в блогосфере, трафик на конкретные материалы многократно возрастает (иногда на порядки, как в случае теракта или неожиданного политического решения). Было принято решение: кэшируем самое востребованное. Но давайте вначале определимся с некоторыми допущениями: Читать дальше →
Тэги: memcached, php, веб-разработка, высокая, кэширование, производительность
[Из песочницы] Опыт внедрения кэширования в небольшой проект с сильной социальной составляющей 2014-02-05 11:59:05
... опытом внедрения кэширования при помощи ... Сложность при внедрении кэширования: подавляющее большинство ...
+ развернуть текст сохранённая копия
Хочу поделиться опытом внедрения кэширования при помощи memcached на своем сайте. Текст будет полезен новичкам в веб-разработке, которые задаются вопросом «как же применять на практике те 100500 статей о кэшировании, которые легко находятся в поисковиках». На истину не претендую, просто рассказываю, как получилось у меня.
Исходные данные:
Сайт крутится на одном выделенном сервере, но из-за вероятности в будущем еще подрасти, для кэширования выбран memcached;
Суточная посещаемость: ~23 000 уникальных посетителей и ~300 000 просмотров страниц;
80% посетителей — авторизованные пользователи;
Основной контент: текст (книги, которые авторы пишут и публикуют на сайте по главам, наподобие самиздата).
Сервисы: персонализированные новости, чтение текстов, разбитых на главы, комментарии, профили, блоги, рейтинги, подписка, метки, закладки, личные сообщения, счетчики, почтовые уведомления…
Пользовательская активность: более 10 000 действий, приводящих к изменению контента, в сутки.
Сложность при внедрении кэширования: подавляющее большинство страниц содержит персонализированные данные. Где-то уникально все, вплоть до запросов в базу, где-то можно разделить запросы на общие и уникальные, где-то нельзя, где-то персональные настройки пользователя применяются на данные уже после их выбора из базы.
Читать дальше →
Тэги: memcached, mysql, php, веб-разработка, высокая, кэширование, производительность
Как запретить кэширование страниц сайта 2013-11-17 23:03:57
... всех сайтов полезно кэширование всех или ... показаться странным, ведь кэширование снижает нагрузку на ...
+ развернуть текст сохранённая копия
Не всегда и не для всех сайтов полезно кэширование всех или отдельных страниц. Некоторым это может показаться странным, ведь кэширование снижает нагрузку на сервер, особенно при большой активности и посещаемости посетителей, но только не тем, у кого на страницах сайтов или веб-сервисов слишком часто обновляется контент, а посетители при этом должны всегда получать самую свежую […]
Тэги: apache, htaccess, php, кэширование, серверы, сервисы,, утилиты,
Главная / Главные темы / Тэг «кэширование»
|
Взлеты Топ 5
Падения Топ 5
|