Ускорение проверки подлинности API Google Analytics - PullRequest
1 голос
/ 12 марта 2010

Я использую класс Google Analytics API в PHP, созданный Дугом Таном, для извлечения данных Google Analytics из определенного профиля.

Проверьте URL здесь: http://code.google.com/intl/nl/apis/analytics/docs/gdata/gdataArticlesCode.html

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

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

//make a new instance from the class
$ga = new GoogleAnalytics($email,$password);

//website profile example id
$ga->setProfile('ga:4329539');

//date range
$ga->setDateRange('2010-02-01','2010-03-08');

//array to receive data from metrics and dimensions
$array = $ga->getReport(
        array('dimensions'=>('ga:country'),
        'metrics'=>('ga:visits'),
        'sort'=>'-ga:visits'
        )
);

Теперь вы знаете, как работает этот класс API, я хотел бы остановиться на моей проблеме.

Скорость. Получение данных различных типов из базы данных аналитики занимает много времени, особенно если вы строите разные массивы с разными метриками / измерениями. Как я могу ускорить этот процесс?

Можно ли сохранить все возможные данные в кеше, чтобы я мог получать данные, не загружая их снова и снова?

1 Ответ

2 голосов
/ 12 марта 2010

Вы можете загрузить данные в кеш точно, точно, как / где данные кэшируются, полностью зависит от вас. Вы можете использовать что угодно: от кэширования по запросу (что будет довольно бесполезно для этой конкретной проблемы) до таких вещей, как APC , memcached , локальной базы данных или даже просто сохранения необработанных результатов файлы. Это, конечно, не ускорит фактический поиск данных из Google.

В этой заметке вполне вероятно (не увидев код), что запросы к Google, вероятно, выполняются последовательно. Вероятно, можно расширить класс PHP, чтобы разрешить одновременный запрос нескольких наборов данных от Google (например, с cURL Multi ).

...