php matchmaker - PullRequest
       30

php matchmaker

0 голосов
/ 28 января 2009

Я подумал, что было бы здорово иметь простой код для сваха в php. Идея состоит в том, чтобы приложение подключалось к серверу или конкретной веб-странице, веб-страница берет его IP и последние X ips и печатает его на странице (своей первой)

Проблема в том, что 5 страниц попадают на страницу в ту же секунду. Как мне справиться с этим? я не могу использовать глобальную / общую память? так что мне нужно было бы записать IP-адреса в файл и читать / писать их каждый раз (10x за одну секунду) будет плохо? Я думаю, это нормально, что это медленно, но я хочу, чтобы это было оптимизировано, если это возможно.

Что лучше хранить в базе данных mysql?

Ответы [ 3 ]

1 голос
/ 28 января 2009

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

Вероятно, самый простой вариант - выбрать базу данных; С MySQL все будет в порядке, и если вам действительно не нужно хранить данные в течение особенно долгого времени, то вы также можете использовать таблицу в памяти - используйте для этого механизм хранения MEMORY (или HEAP) , Использование базы данных таким образом означает, что вам не нужно слишком беспокоиться о конфликте одновременных записей и т. Д.

1 голос
/ 28 января 2009

Я бы предложил использовать APC для кэширования информации в памяти. Это будет работать только для 1 сервера. С несколькими серверами вы должны смотреть на что-то вроде memCacheD.

0 голосов
/ 28 января 2009

Вам не нужно записывать IP-адрес запрашивающего в файл - Apache уже делает это за вас. Просто вставьте последние строки файла / var / log / httpd / access_log (если вы используете Linux), и вы найдете необходимую информацию о последних запросах, полученных сервером - IP, реферер, URL. И они сериализованы.

до свидания!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...