Веб-счетчики в файлах?

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

4 ответа

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

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

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

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

<?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];
?>

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

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

Memcache или APC

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

Другие вопросы по тегам