Как заставить сервер кэшировать?

TheVS
На сайте с 27.12.2006
Offline
467
947

Сабж. В кэшировании практически вообще не смыслю.

Есть сайт на CMS, из-за большой посещаемости всё это дело очень смачно тормозит и нагружает сервер. Как заставить сервер всё закэшировать и обновлять кэш раз в сутки часа в 4 ночи (как пример), но что бы осталась возможность нормально его обновлять.

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

🍄 Видео-реклама на ваших сайтах: https://bit.ly/ads_for_video
СД
На сайте с 17.02.2008
Offline
20
#1
TheVS:

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

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

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

Деньги ... легко. () я плохой ребенак, люблю пиво и ненавижу даунов оставил хамский коммент и не подписался? Мог бы и не трудиться, на уродов не в обиде)
SJ
На сайте с 16.03.2008
Offline
78
#2
TheVS:
Сабж. В кэшировании практически вообще не смыслю.
Есть сайт на CMS, из-за большой посещаемости всё это дело очень смачно тормозит и нагружает сервер. Как заставить сервер всё закэшировать и обновлять кэш раз в сутки часа в 4 ночи (как пример), но что бы осталась возможность нормально его обновлять.
Т.е. схема такая: я добавляю контент, но пользователь получает его только после перекэширования всего сайта сервером. Это возможно вообще?

Добавить кеширование в общем-то не сложно...

И кеш лучше обновлять автоматом, при добавлении\изменении.

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

И стоит обьединить оба подхода.

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

Если что - тут спрашивайте, поможем :)

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
peterpro
На сайте с 14.11.2007
Offline
35
#3

По моему мнению, игра не стоит свеч. Лучше делать собственное кэширование, по примеру Smarty (есть шаблоны, которые компилируются, после чего отдаются), или, если динамических элементов не особо много - кэшировать напрямую в html, после чего обновлять по мере необходимости.

D
На сайте с 21.06.2006
Offline
168
#4

Поставьте nginx в режиме проксирования и настройте его на кэширование всех/определенных запросов к сайту.

Appstorespy - платформа анализа мобильных сторов | Publa.io - готовая инфраструктура для приема платежей и оплаты рекламных кабинетов в бурже
E
На сайте с 14.09.2007
Offline
24
#5
Dash:
Поставьте nginx в режиме проксирования и настройте его на кэширование всех/определенных запросов к сайту.

А разве nginx научился кешировать, или речь идет об интеграции с memcached? Тем не менее поставить его в качестве frontend для проксирования и отдачи статики не помешало бы.

По сабжу, если интересно, то по принципам кеширования можно почитать здесь:

http://www.mnot.net/cache_docs/

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13

это на англицком. На русском, неплохая статья:

http://xmlhack.ru/texts/06/doing-http-caching-right/doing-http-caching-right.html

Опять же кешировать можно на разных уровнях: кеш СУБД, кеш результатов обработки данных, кеш частей/шаблонов страниц, кеш итоговых страниц, отдаваемых сервером... Если движок не самописный, и достаточно популярен, то стоит посмотреть в сторону интеграции его с готовыми продуктами для кеширования - скорее всего, подобные средства уже имеются. Для затравки ключевые слова для поиска: memcached, squid, oscache.

Ну и вдогонку, можно здесь еще почитать:

http://habrahabr.ru/tag/cache/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий