Fublin, Проверяем существует ли файл кэша
Проверяем не истек ли срок хранения кэша
Если истек пересоздаем кэш
Иначе отдаем его содержимое пользователю
Если файл не существует создаем его.
Screamer, тоесь по временми, а не по новым файлам ?
Просто некоторые арбузы, например мой родной Сафари на смарте, он кеширует страницы, и вобщем то ходить с него невозможно как раз из за этого, не видно ни новых писем, ни почты. Вот к чему я клоню вобщем..
Fublin, Ну можешь сделать так что при появлении новых фалов кэш пересоздается, только тогда зачем он вообще нужен будет? Хотя если сайт со слабой активностью впринципе можно попробовать сделать.
А так таймаут по меньше можешь выставить.
Screamer, Люди с таких арбузов постоянно жалуюца что сайт не работает, и их тяжело убедить что это у них арбуз такой. Люди привыкли считать что у них то всё всегда в порядке.
А к таким арбузам ещё и счётчик прибавится с кешем. Тоесть ещё совпадений меньше буит в правельных показаниях.
Fublin (07.08.2012/11:32)
Screamer, тоесь по временми, а не по новым файлам ?
Просто некоторые арбузы, например мой родной Сафари на смарте, он кеширует страницы, и вобщем то ходить с него невозможно как раз из за этого, не
Это разные кэши. То о чём ты написал это кэширование браузера самого. Он страницу с твоего сайта даже не грузит.
А то кэширование код которого тебе давали позволяет снизить нагрузку на БД и сервер и избежать постоянных запросов т.к. при большом количестве записей в БД, запрос может достигать даже нескольких секунд. И чтобы при каждом переходе на страницу не ждать несколько секунд и не грузить сервер делается кэширование.
Принцип такой что.
1. Сначала скрипт делает запрос в базу на подсчёт.
2. Результат запроса записывает в файл.
3. Потом некоторое время чтобы не делать запросы в базу он выдаёт результат из файла. например минут 20.
4. Возвращаемся к шагу 1.
Теперь посмотрим по времени (время преувеличено чтобы показать на примере).
1 шаг допустим займёт 15 секунд.
2 шаг займёт немного ну например 1 секунду.
3 шаг так же 1 секунду к примеру.
В сумме получаем 17 секунд на 1 открытие страницы. Но это только первое открытие.
Второе открытие будет 1 секунду и в течении 20 минут все кто заходит на сайт не будут ждать 17 секунд.
З.Ы. Надеюсь доступно пояснил. гг
Fublin (07.08.2012/12:01)
Screamer, Люди с таких арбузов постоянно жалуюца что сайт не работает, и их тяжело убедить что это у них арбуз такой. Люди привыкли считать что у них то всё всегда в порядке.
А к таким арбузам ещё и
В head.php убери это:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
Тогда кэшироваться не будет. Смысла от него всё равно нет.
Simba (07.08.2012/12:02)
Это разные кэши. То о чём ты написал это кэширование браузера самого. Он страницу с твоего сайта даже не грузит.
А то кэширование код которого тебе давали позволяет снизить нагрузку на БД и сервер и
Фублин не дурак, ща осилит
Но я не арбуз имел ввиду, это какбы пример того что я пытался выяснить, учитывая то что я не знаю на каком принципе все это работает.
Вобшем, для слабых хостов и плохих тарифов на них это спасение ?
Simba (07.08.2012/12:05)
В head.php убери это:
[php]header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d
Можно ведь для браузеров которые заведомо фигня не делать кеширование, адля наманых делать ?
Fublin, ну как сказали выше, это разные кэши, по сути арбуз выдает хтмл обработанный пхп, пхп уже определяет откуда значение отдать по времени, в примере час времени хранения, пример показывает саму схему реализации, создание, обновление и выдачу результата, посмотрел в пятерку, там все счетчики записанны
Даже можно сделать такую хрень: например мой Сафари хреновый, кеширует всё.
И другие арбузы тоже.
Мона собрать всю эту инфу в небольшую таблицу, и убирать кеш для них, учитывая параметры какие нибудь у браузеров этих. А если производитель сделает другой арбуз, то он не в списке, и уже буит всё пучком..мысль такая..вот