|
| |
|
|
| |
для: Loki
(27.06.2006 в 10:45)
| | | Не.
Так не выйдет.
Уже попробовал.. | |
| |
|
|
| |
|
|
| |
для: valenok
(27.06.2006 в 09:53)
| | | сравнивать что с чем? | |
| |
|
|
| |
|
|
| |
для: Loki
(27.06.2006 в 09:32)
| | | А если сравнивать через md5_file ? | |
| |
|
|
| |
|
|
| |
для: cheops
(27.06.2006 в 01:45)
| | | Да не совсем. К тому же, будет очень сильно привязано к структуре сайта.
Предположим, у нас есть сайт со статьями. исправили мы статью, и изменения в кэше должны произойти на странице со статьей, версия для печати, анонс на главной. Либо все это надо прописывать в коде, либо этот вариант отпадает.
Вообще есть еще вариант устаревания по времени. Он вообще самый простой и самый ненадежный. Но зато реально позволяет снизить нагрузку почти без усилий. | |
| |
|
|
| |
|
|
| |
для: Loki
(27.06.2006 в 00:35)
| | | Так и в линейном варианте это будет происходить автоматически :) | |
| |
|
|
| |
|
|
| |
для: cheops
(26.06.2006 в 23:09)
| | | ну понятно что это самый линейный вариант - что изменил, то и перегенерил:)
просто хочется разработать систему, которая бы это делала автоматически.
хотябы алгоритм. | |
| |
|
|
| |
|
|
| |
для: Loki
(26.06.2006 в 22:14)
| | | Так вы просто при любых измненениях статьи сразу её сбрасывайте на диск - тогда не надо будет заботится об актуальности - содержимое "кэша" и базы данных будет всегда согласовано. | |
| |
|
|
| |
|
|
| |
для: cheops
(26.06.2006 в 20:24)
| | | нет. кэширование на стороне сервера с целью высвобождения мощностей:
подцепили мы шапку, ноги, сформировали и оформили контент. достали из базы новости - отдали страницу клиенту. А всю работу что мы проделали - просто выбрасываем. Если заходит следующий клиент, то мы все тоже самое проделываем снова.
Я же предлагаю после того как мы отдали страницу клиенту, сохранить ее на диск. Когда придет следующий посетитель мы только проверяем не менялись ли какие-нибудь элементыданной страницы. Если не менялись - подсовываем посетителю готовую страницу с диска.
Попробовал такую систему на сравнительно простой странице. выигрыш составил до 70%. Для какого-нибудь раздела со статьями, который почти не меняется, это очень актуально. думаю, что и форум можно подобным образом оптимизировать.
Но сейчас передо мной вопрос: как убедиться что запрошенная страница должна содержать такие же данные как и то что в кэше. Я свой вариант предложил... но как-то нет у меня на счет него уверенности. | |
| |
|
|
| |
|
|
| |
для: Loki
(26.06.2006 в 15:17)
| | | Это хэш в рамках HTTP или для своих собственных потребностей? Дело в том, что в HTTP для обозначения времени устаревания документа введен специальный HTTP-заголовок... | |
| |
|
|
| |
|
|
| | Пытаюсь оптимизировать систему кэширования.
Сейчас это выглядит так: после запроса страницы скрипт проверяет изменялась ли эта страница и если не изменялась - берем ее из кэша.
Все вроде просто... но вот как проверить что страница не менялась? самое простое - по хэшу. Но это глупо, так как страницу сначала надо сформировать:)
Пока остановился на следующем: при изменениях в БД ставится метка последнего изменения. Если файл в кэше старше этой метки - формируем страницу заново.
Но есть такие трудности как, например, авторизация пользователя... после того как он авторизовался, внешний вид страницы меняется...
В итоге, додумался до такой схемы: вычисляем хэш URL+$_SESSION и проверяем уникальность страницы по этому хэшу, а ее свежесть - по метке БД.
Несколько смущаем меня такой подход. Да и чувствую я что могут с ним быть проблемы... может у кого еще идеи есть? | |
| |
|
|
|