веб-счетчики в файлах? - PullRequest
0 голосов
/ 15 октября 2011

Как хранить счетчики в php скрипте без БД?Всегда использовал БД, но теперь я хочу более простую настройку ... Использование файлов кажется проблематичным из-за блокировок файлов.Допустим, есть много одновременных подключений, и я хочу посчитать количество выполнений сценария.

Ответы [ 4 ]

0 голосов
/ 15 октября 2011

Я хочу посчитать количество выполнений скриптов

Установить каталог, в который вы можете писать.Для каждого запроса создайте новый файл со случайным именем.

Вы подсчитываете количество выполнений сценариев, подсчитывая количество файлов.

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

0 голосов
/ 15 октября 2011

Вы можете увеличить кэшированное значение в памяти, используя что-то вроде memcache.Это, вероятно, самое быстрое решение проблемы параллелизма.

Memcache или APC

Конечно, вы потеряете данные, если memcache будет очищен или перезапущен... сохранение файла в какой-то момент - единственный путь.

0 голосов
/ 15 октября 2011
<?php
$count_file = "counts.txt";
$counts = file($count_file);
$counts[0] ++;
$fp = fopen($count_file , "w");
fputs($fp , "$counts[0]");
fclose($fp);
echo $counts[0];
?>
0 голосов
/ 15 октября 2011

Вы не хотите использовать базу данных и не хотите использовать файл.Я не думаю, что этого можно достичь без использования одного из них.

...