Лучшая практика для записи хитов страницы с помощью PHP?

Это - два вопроса о части:

то, Как выполнить итерации по записям Карты - @ScArcher2, имеет , ответил настолько отлично.

, Что является порядком повторения - если Вы просто используете Map, тогда строго говоря, существует никакие гарантии упорядочивания . Таким образом, Вы не должны действительно полагаться на упорядочивание, данное никакой реализацией. Однако SortedMap интерфейс расширяет Map и обеспечивает точно, что Вы ищете - реализации будут aways давать последовательный порядок сортировки.

NavigableMap другое полезное расширение - это SortedMap с дополнительными методами для нахождения записей их заказанным положением в наборе ключей. Таким образом, потенциально это может устранить необходимость итерации во-первых - Вы могли бы быть в состоянии найти определенное entry, Вы после используете higherEntry, lowerEntry, ceilingEntry, или floorEntry методы. descendingMap метод даже дает Вам явный метод инвертирование пересекающегося порядка .

5
задан SilentGhost 28 July 2009 в 11:36
поделиться

4 ответа

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

Вы можете, например, добавить поле даты, а затем получать ежедневные / ежечасные / ежемесячные / любые данные для каждого стр.

Вы также можете добавить IP-адрес для каждого посетителя, а затем извлечь данные о посещениях. Таким образом, вы можете легко извлекать данные о поведении пользователей вашего сайта.

Вы также можете хранить пользовательский агент и ОС своих посетителей, чтобы вы знали, на какие браузеры следует ориентироваться или нет.

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

4
ответ дан 13 December 2019 в 05:39
поделиться

Google Analytics . Если только вам не понадобится , чтобы сделать это собственными силами.

Внедрение вашего собственного решения на PHP может быть сколь угодно простым или сложным. Вы можете создать таблицу для хранения ip-адреса (не всегда надежного), местоположения страницы и даты. Это позволит вам отслеживать уникальные обращения за каждый день. Вы можете запланировать задачу, чтобы уменьшить количество записей до простой строки date , numOfUnique .

Другой метод - это анализ ваших файлов журналов. Вы также можете делать это каждые 24 часа или около того.

Вы можете запланировать задачу, чтобы уменьшить количество записей до простой строки date , numOfUnique .

Другой метод - это анализ ваших файлов журналов. Вы также можете делать это каждые 24 часа или около того.

Вы можете запланировать задачу, чтобы уменьшить количество записей до простой строки date , numOfUnique .

Другой метод - это анализ ваших файлов журналов. Вы также можете делать это каждые 24 часа или около того.

8
ответ дан 13 December 2019 в 05:39
поделиться

Это невозможно ни в одном из ваших случаев. Приложения PHP запускаются, когда пользователь что-то запрашивает у них, они генерируют результат и затем закрываются. Таким образом, даже если вы не закроете соединение с базой данных или файл, они будут закрыты автоматически. Но я не знаю, почему открытие соединения с базой данных или файла для записи может быть проблемой?

0
ответ дан 13 December 2019 в 05:39
поделиться

Трудно дать особенно полезные ответы в отсутствие ожидаемого объема трафика (кроме комментария Джонатана Сэмпсона о том, что вам может быть лучше использовать Google Analytics).

Файл- вариант на основе:

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

SQLite option:

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

0
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: