Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Cache (https://forum.antichat.xyz/showthread.php?t=80353)

Isis 10.08.2008 15:25

Cache
 
index.php, в нем скрипт парсинга страницы news2.ru
На сайт заходит огромное кол-во людей и если этот скрипт будет парсить так инфу все врмя, она разная как вы понимаете,то сервак накроется..
Так вот...как сделать так чтобы этот скрипт работал только каждые 7 дней, т.е. 10 августа я зашел на сайт, он сделался и записался куда-то в кеш, дальше хоть еще 10000 человек зайдут на этот скрипт 10, 11, 12, 13 и т.д. числа им будет отдавать вся инфа из кеша...
Так вот собственно как это замутить :)

iron-viper 10.08.2008 16:14

Предложу такую идею. Положи отдельный скрипт парсинга и поставь его на крон(когда надо), результаты парсинга ложи либо в БД либо в файл. А уже со страницы новостей обращайся к результатм, а не парси на лету. Вот.

GreenBear 10.08.2008 16:18

что может быть проще
$parse_time() = time();
..
if(time() > $parse_time + 86400 * 7){
run_parse();
}

Isis 10.08.2008 17:28

Цитата:

Сообщение от GreenBear
что может быть проще
$parse_time() = time();
..
if(time() > $parse_time + 86400 * 7){
run_parse();
}

Давай представим...прошлый раз узнавали новость допустим 8 августа, где это 8 августа здесь записано?
То что ты написал не исполнится никогда...

Мне еще заголовки важны..
Что там посылать Expires.... lala

Sn@k3 10.08.2008 17:33

а если записывать дату и т.д. в cookies ?
и в нем указывать время жизни.

Isis 10.08.2008 20:40

Sn@k3, и что тогда все равно кадлому придется куки записывать?
Не то...

GreenBear 10.08.2008 20:46

$PARSE_TIME ХРАНИ ГДЕ УГОДНО, ХОТЬ НА ПОТОЛКЕ ЗАПИШИ. ЭТО ВРЕМЯ ПОСЛЕДНЕГО ПАРСИНГА САЙТА.
if(time() > $parse_time + 86400 * 7){
ЭТО СРАВНЕНИЕ ТЕКУЩЕГО ВРЕМЕНИ С ВРЕМЕНЕМ ПОСЛЕДНЕГО ПАРСИНГА, КОТОРОЕ ХРАНИТЬСЯ ГДЕ УГОДНО, ХОТЬ НА ПОТОЛКЕ , К КОТОРОМУ ПРИБАВЛЕНО 86400 * 7СЕКУНД( ТО БИШЬ ОДНИ СУТКИ УМНОЖЕННЫЕ НА 7, ТО БИШЬ В ИТОГЕ У ТЕБЯ 7 СУТОК).
run_parse();
ЭТО ЗАПУСК ПАРСЕРА, НЕ ПОНИМАЮ ЧТО ТУТ НЕ ПОНЯТНОГО. ТАК ВОТ ПОЛУЧАЕТСЯ, ЧТО ЕСЛИ ТЕКУЩЕЕ ВРЕМЯ БОЛЬШЕ ЧЕМ ВРЕМЯ ПОСЛЕДНЕГО ПАРСИНГА + 7 СУТОК, ТО МЫ ЗАПУСКАЕМ НОВЫЙ ПАРСИНГ.

Isis 11.08.2008 02:24

Я не хочу записывать посл.обращение ни в бд ни в др.файл..возможно такое?

Isis 11.08.2008 02:26

Меня интересуют заголовки и как выводить все....блять!

GreenBear 11.08.2008 02:38

заголовки в документации протокола.
как выводить я вообще нихера не понял.
время можно не записывать отдельно, его можно брать из даты news2.ru, можно брать filemtime() если данные пишешь в файл - про производительности, которую ты так особо любишь это не ударит, смотри доки для ответа почему.

или крон.


Время: 14:40