Динамический дорген, кто как его пишет?

1 234
spambot
На сайте с 12.12.2008
Offline
55
#31
s91:
Как бы сделал я:
Есть например домен: domain1.ru
Создаем файлы domain1.index, domain1.cache (каждый по 0 байт)

1. Нужно записать в кеш страницу asd.domain1.ru/index.php?param=abcd
Считываем текущий размер файла domain1.cache, запоминаем. Записываем в его конец наш кеш.
В файл domain1.index записываем вот такое например:
asd.domain1.ru/index.php?param=abcd 0(где 0 - это место в файле domain1.cache где начинается кеш указанной страницы)
2. Через какое-то время в файле domain1.index будут вот такие записи:
asd.domain1.ru/index.php?param=abcd 0
asd.domain1.ru/index.php?param=abck 1544
asd.domain1.ru/index.php?param=abcds 3544
astgfhfg.domain1.ru/index.php?param=ab345 8455
asd.domain1.ru/index.php?param=dgdfg 10333
А в файле domain1.cache кеш указанных страниц по указанным смещениям
3. Нужно например считать asd.domain1.ru/index.php?param=abck
Читаем файл domain1.index полностью, ищем запись "asd.domain1.ru/index.php?param=abck" и следующую за ней. Получаем 1544 и 3544. Считываем из файла domain1.cache данные между этими позициями в файле, получаем кеш.

Если файлы *.index будут слишком большими, можно делить их на несколько по имени поддомена asd.domain1.index, astgfhfg.domain1.index, или даже еще мельче по какому-нибудь параметру генерации код дора, например по уровню вложенности стриниц

а можно просто дописывать в TAR архив файл новой странички ;)

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

Every time you attempt to parse HTML with regular expressions, the unholy child weeps the blood of virgins, and Russian hackers pwn your webapp. (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)
1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий