jquery кеш php ajax запросы - PullRequest
1 голос
/ 03 ноября 2011

У меня проблема с замедлением некоторых моих запросов ajax.

Используя jquery, я делаю ajax-вызов php-скрипта, который запрашивает базу данных, запускает некоторые скрипты и затем возвращает данные.

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

Как я могу кешировать свой php, чтобы он мог возвращать результат кеша и обновлять кеш только когда пользователь вносит изменения.

Также некоторые запросы возвращают разные результаты в зависимости от того, какой пользователь вошел в систему. Поэтому мне нужно было бы кэшировать запрос php ajax / для пользователя.

Ответы [ 3 ]

0 голосов
/ 03 ноября 2011

Мой подход заключается в использовании Zend_Cache для кэширования возвращаемого кода.Пример рабочего процесса:

$cache = Zend_Cache::factory($frontendName,
                         $backendName,
                         $frontendOptions,
                         $backendOptions);

$data = $cache->load('member-'.$id);

if (false === $data) {
    {.. process normally populating $data ..}

    $cache->save($data, 'member-'.$id);
}

{.. return $data formatted ..}

Чтобы удалить кэшированные данные, если они были обновлены:

$cache = Zend_Cache::factory($frontendName,
                         $backendName,
                         $frontendOptions,
                         $backendOptions);

$cache->remove('member-'.$id);

Ссылка http://framework.zend.com/manual/en/zend.cache.html

0 голосов
/ 03 ноября 2011

Время установки memcache: http://php.net/manual/en/book.memcache.php

0 голосов
/ 03 ноября 2011

Вот некоторая информация о кэшировании MySql в PHP

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