<?
$cacheFile = ‘cache.html’;
if ( (file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) )
{
$content = file_get_contents($cacheFile);
echo $content;
} else
{
ob_start();
// write content
echo ‘
Hello world to cache
‘;
$content = ob_get_contents();
ob_end_clean();
file_put_contents($cacheFile,$content);
echo $content;
}
?>
Это конечно все очень просто, для доработки надо чтобы название файла созадавалось как md5 строки запроса и если страниц много, то разбивалось по каталогам, называющимися первой буквой имени файла (это нужно, т.к. скорость доступа к большому количеству файлов в файловой системе при их большом количестве).
Я доработал такой алгоритм и скоро опубликую его.
Дата: Март 31st 2009 Категория:
Программирование
Сегодня понадобилось подсчитать количество ошибок по превышению температуры процессора. Данные находятся в messages.log.
Самое простое решение - это написать простенький perl скрипт, который бы брал месяц, число и считало количество появления ошибок в хеше.
Скрипт получилося такой:
#!/usr/bin/perl
$filename=’mess4.log’;
open FH,$filename or die $!;
while (<FH>) {
~/(\w+)\s*(\d+)\s+(\d+):/;
# print “$1 $2 $3\n”;
if (exists($stat{”$1 $2″})) {$stat{”$1 $2″}+=1;} else { $stat{”$1 $2″}=1;}
}
while (($data,$count)=each(%stat)){
print “$data\t$count\n”;
}
Результат - вывод двух из 3х колонок - МЕСЯЦ, ЧИСЛО, КОЛИЧЕСТВО ОШИБОК.
Скрипт очень прост, поэтому вывод нужно запихнуть в ексель и отсортировать по-человечески. Конечно все это можно сделать в скрипте, но на это пока нет времени.
Дата: Март 31st 2009 Категория:
Программирование
Сегодня вынес скрипты граббинга инфанаты с локальной машины в интернет на хостинг. Это позволить постоянно мониторить появление новых описаний, да и увеличит скорость обращения к инфанате.
Дата: Март 31st 2009 Категория:
Проекты