Въпроси относно кеширане (cache)

slideR

Registered
Здравейте,
Някой от Вас може ли да ми обясни как се използва кеширането(примерни кодове), и освен, че се зарежда по-бързо има ли друго предимство.
 
Има много видове кеширане. Специално за уеб сега се сещам 3:

1) Кеширане на целия сайт - тоест запазване на изходния HTML в някакъв файл примерно и зареждане от там. Почти никога не върши работа, защото при динамичните сайтове искаш да се обновява "live".
2) Кеширане на тежки заявки/резултати от тежки функции - обикновено това е най-практичното нещо, което можеш да направиш. Даже mysql има възможност да ти кешира заявките с 1-2 пипвания в конфигурацията и ако знаеш как да си пишеш заявките. Можеш да си направиш система и да ги кешира в APC, memcached и т.н. Идеята е повтарящи се на много страници неща (или често зареждана страница) да ги пазиш в паметта, до където достъпа е много бърз вместо всеки път БД да ги търси, което е доста по-бавно за големи БД.
3) Кеширане на файлове от браузъра - изключително полезно за css,js файлове и картинки, защото така браузъра не се налага всеки път за всеки файл да се допитва до сървъра.
 
slideR каза:
Интересува ме как става 3). Ако можеш ще те помоля да ми покажеш как става :)

Предполагам използваш Apache. Разгледай тези 2 статии:
http://www.simonwhatley.co.uk/how-to-set-an-expires-header-in-apache
http://www.simonwhatley.co.uk/how-to-configure-apache-to-gzip-your-components

Първата е за това, което питаш. Втората е за gzip, което също е доста хубаво нещо. Общо казано сървъра ти компресира файловете, преди да ги прати и така пести трафик и време за зареждане на големи файлове. Например един CSS файл от 40kb го прави около 5kb.

При кеширането според мен 1 месец е доста време, затова смени това 1 months на 1 weeks
 

Back
Горе