Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Реализация кэширования
 
 автор: Shorr Kan   (19.11.2008 в 16:21)   письмо автору
 
 

Ситуация такова: сайт динамический, контент генерируется при каждом запросе. Изображения выдаются через gdlib.
В контенте (списке товаров) у незалогиненных юзеров, будет только список. У залогиненных - ссылочка рядом. Или "положить в корзину", или "уже куплено".
Как реализовать кэширование, если интересует метод записи на диск сгенерированных страничек? Для незалогиненных - понятно. Но как быть с залогиненными? Можно хранить индивидуальный кэш для каждого. Но тогда возникнут затруднения с обновлением этого кэша. Хотя, это самый очевидный для меня вариант.
Как быть?

  Ответить  
 
 автор: Temnovit   (19.11.2008 в 17:56)   письмо автору
 
   для: Shorr Kan   (19.11.2008 в 16:21)
 

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

  Ответить  
 
 автор: Shorr Kan   (19.11.2008 в 18:28)   письмо автору
 
   для: Temnovit   (19.11.2008 в 17:56)
 

Нет, проблема не в этом. Скрипт, генерирующий картинки работает нормально. В совокупности - сайт слишком большой... слишком много юзеров... итог: переодически, сайт генерируется во многих параллельных процессах. Толку от этого мало, ведь можно было бы просто принтовать сохраненную на диск страничку. Но это неприменимо, если посетитель залогинен, из-за... см. первый пост.
А кэшировать только незалогиненных - мало проку, так как покупать будут именно залогиненные. У них-то и возникнут проблемы.

  Ответить  
 
 автор: Shorr Kan   (20.11.2008 в 05:33)   письмо автору
 
   для: Shorr Kan   (19.11.2008 в 18:28)
 

Хм?

  Ответить  
 
 автор: Indemion   (20.11.2008 в 11:12)   письмо автору
 
   для: Shorr Kan   (20.11.2008 в 05:33)
 

Вам же ответили, делайте кеш картинок.
То есть проверяйте: если картинка есть (например в отдельной папке) для этой позиции - показать, а нет - сгенерировать.

  Ответить  
 
 автор: Shorr Kan   (20.11.2008 в 14:12)   письмо автору
 
   для: Indemion   (20.11.2008 в 11:12)
 

Я ведь тоже ответил, что не в картинках дело.

  Ответить  
 
 автор: Indemion   (20.11.2008 в 16:13)   письмо автору
 
   для: Shorr Kan   (20.11.2008 в 14:12)
 

А в чем проблема если сделать шаблон страницы?
В чем отличие между залогиненными пользователями?

  Ответить  
 
 автор: Shorr Kan   (20.11.2008 в 16:16)   письмо автору
 
   для: Indemion   (20.11.2008 в 16:13)
 

'У залогиненных - ссылочка рядом. Или "положить в корзину", или "уже куплено".'
Ну это самое очевидное, конечно.
Есть и другие мелочи.

В целом, суть в том, что для одного захода на страничку, нужно не только обратиться в базу для генерации самого контента, но и еще несколько раз - для генерации нюансов каждого пользователя.

  Ответить  
 
 автор: mechanic   (20.11.2008 в 16:50)   письмо автору
 
   для: Shorr Kan   (20.11.2008 в 16:16)
 

можно применять кэширование отдельных блоков
а вообще вдруг имеет смысл кэшировать данные, а не html?
http://larin.in/archives/21

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования