Статья (http://php.russofile.ru/ru/translate/unsort/caching_5_steps/) рассматривает проблемы организации автоматизированного кэширования web-сайтов для снижения нагрузки на сервер и оптимизации его работы.URL: http://php.russofile.ru/ru/translate/unsort/caching_5_steps/
Новость: http://www.opennet.me/opennews/art.shtml?num=10225
а можно указывать к какому языку относиться новость? если бы знал, что пхп, то даже не открывал
внимательно читаем новость :)>>>>>>>>>>>>>
Ссылки к новости:1. Главная ссылка к новости (http://php.russofile.ru/ru/translate/uns...)
^^^
Ключевые слова: web, php, cache, (найти похожие документы)
^^^^
<<<<<<<<<<<<<<<
Хм, а допустим ты кешируешь поисковую выдачу, как ты определишь, что у тебя результаты изменились??? Запросом к БД? зачем тогда такой кеш нужен?
Удаляешь в момент обновления данных связанные с этим обновлением файлы кэша и никаких проблем. Например, для форумов и новостей обычно все на один id завязано, который и является ключем для изменения и кэша.
А если у тебя в момент обновления, т.е. удаления ещё запросы от клиентов поступят? Всё, колхозное кэширование обломается, да? :)Велосипед это, как и большинство в php.
>А если у тебя в момент обновления, т.е. удаления ещё запросы от
>клиентов поступят? Всё, колхозное кэширование обломается, да? :)Не позорились бы. RTFM про чтение файлов в Unix и блокировки на файловые операции.
Операция удаления атомарна, если в момент запроса файл удален - создается новый файл для кэша (создает первый скрипт, остальные ждут освобождения лока, после которого отдатут из кэша). Если файл удален, но его содержимое в данным момент отдается клиенту - то удаление файла на его отдачу для уже открывших этот файл процессов не повлияет.
>остальные ждут освобождения лока
Они не ждут, они нажимают дико жать F5. Много раз наблюдал подобную картину. Особо весело, когда такая ситуация возникает в прайм-тайм.
s/нажимают/начинают/
Возможно memcached будет удобнее.
Не надо следить за временными файлами, не надо проверять устаревание кэша.
Да и на диск он ничего не пишет, что большой плюс при большой нагрузке.PS: Есть memcached API для наиболее распространенных языков.
И его можно скрестить с nginx. :)
главное не кэшировать данные, доступ к которым с авторизацией.
это всего лишь подход - идея. что касается реализаций - то их миллион - кто мешает в rewrite исключиль некоторые страницы из обработки этих скриптов?