PHP база данных в файле, быстрый доступ
PHP база данных в файле
GEO IP
В секунду сотни открытий
В секунду сотни ИП адресов с параметрами записываются в базу текст файл.
В секунду сотни ИП адресов Проверка на наличие ИП в базе.
В секунду сотни ИП адресов Удаление ИП если устарело из файла или обновление.
В секунду сотни сохранений.
В секунду сотни Выдача ответа echo "$IP....
сотни мегабайт файл
24.86.249.213|1381103410][69.71.113.129|1381103274][89.236.61.70|1381102973][70.68.157.101|1381102913][69.243.244.203|1381102909][99.253.217.224|1381102711][120.89.50.126|1381102085][41.254.1.50|1381102000][171.67.44.3|1381101914][173.228.29.47|1381101891][24.192.88.247|1381101267][173.59.226.244|1381101053][71.32.247.227|1381101050][188.62.85.119|1381100804][137.186.240.135|1381100737][110.142.204.227|1381100179][96.127.236.56|1381099624][72.241.13.13|1381099577][146.171.254.97|1381098785][71.8.78.243|1381098694][193.126.22.102|1381098341][212.30.203.184|1381098305][125.7.91.251|1381098245][155.140.
надо найти вариант оптимизации и ускорения работы и идеи
сервер впс слабенький и убогий, всё плохо.
RAM мало 256 мб
nginx phpfpm
скрипт примитивный свой написанный
$myFile=$path."lastvisit.txt";
$handle = fopen($myFile, "r+");
$prev = fread($handle, filesize($myFile));
fclose($handle);
$found = stristr($prev,"[$ip|");
$new = "[$ip|".time()."]";
$freship = "no";
if ($found === FALSE){
$handle = fopen($myFile, "w+");
fwrite($handle,$new.$prev);
fclose($handle);
$freship="yes";
}else{
$pattern="/\[".$ip."\|([0-9]*)\]/i";
$search = preg_match($pattern,$prev,$match);
if ( (time() - $match[1]) >= 2*24*3600){
$replacement = "" ;
$removed = preg_replace($pattern,$replacement,$prev);
$handle = fopen($myFile, "w+");
fwrite($handle,$new.$removed);
fclose($handle);
$freship="yes";
}else{
$freship = "no";
}
}
//echo "freship=$freship
\n";
include($path ."geoipcity.inc");
include($path ."geoipregionvars.php");