我有一个问题,是减慢我的一些ajax请求。
使用jquery,我对php脚本进行ajax调用,该脚本查询数据库,运行一些脚本,然后返回数据。由于我查询大量数据和格式化,有时需要3-8秒才能返回,降低了用户体验。
我如何缓存我的php,这样它可以返回一个缓存结果,只有当用户做出改变时才刷新缓存。
还有一些查询根据登录的用户返回不同的结果。所以我需要缓存php ajax请求/每用户
下面是关于PHP中MySql缓存的一些信息
我的方法是使用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 安装memcache的时间:http://php.net/manual/en/book.memcache.php