Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Кеширование страниц

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vlom
Отправлено: 22 Июля, 2011 - 23:20:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




задумался о кешировани страниц, средствами пхп
что напридумывал мой i7 (фактическая производительность Pentium D Радость )
брать то что будет выводится в браузер и записывать в хтмл файл, именовать md5 хешем самого файла, далее проверка времини существования файла, если больше то перезаписываем, а меньше выводим

но теперь трудность если контент на странице изменится, то и изменится ее md5, как быть с теми файлами кеша которые не пригодны уже???

да и в принцепе верен ли мой подход к кешированию???
(Добавление)
еще одно, кешируя страницы в файл придется на папку устанавливать права 777, а тут могут возникнуть проблемы безопасности
как вариант кеширование в таблицу мускуля, но ту увеличивается количество запросов в том случае если кеш устарел
и что делать или я не прав по поводу прав доступа к паке???
 
 Top
evgenijj
Отправлено: 23 Июля, 2011 - 00:47:43
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Подход верен, я и сам пытался сделать что-то подобное. Но настолько хлопотно, что отказался. Изменение чего-то подразумевает изменение еще очень и очень многого. Допустим, есть у нас товар "товар 1" в разделе "разделе 12". Раздел 12 может занимать 10, 20, 30 страниц, по 20 товаров на странице. Мы удалили товар 1, и у нас изменились страницы
myshop.ru/catalog/category/12/pa ge/1/
myshop.ru/catalog/category/12/page/2/
myshop.ru/catalog/category/12/pa ge/3/
myshop.ru/catalog/category/12/page/5/
myshop.ru/catalog/category/12/pa ge/6/
myshop.ru/catalog/category/12/page/7/
А еще трудность -- есть зарегистрированные пользователи -- которым надо показывать не общую страницу, а персональную страницу -- и не перепутать одного пользователя с другим.

(Отредактировано автором: 23 Июля, 2011 - 00:48:25)

 
 Top
vlom
Отправлено: 23 Июля, 2011 - 06:23:31
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




evgenijj может подскажешь примерную реализацию того как быть с ненужными файлами кеша????
может очищать в ручную полностью весь кешь, скажем раз в неделю???
или запускать по крону пхп скипт, кторый это будет делать за тебя???
Да и как поступать с динамическими данными которые нет нужды кешировать, возможно вставлять в опред место на кешированной странице какой нибудь маркер и затем на его место динамический контент который не кешировали
 
 Top
Roler
Отправлено: 24 Июля, 2011 - 13:18:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Для инвалидации кэша очень полезна система тэгов, в Zend_Cache так и сделано.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB