缓存PHP简单的HTML DOM解析器

Mat*_*Hui 4 html php parsing dom caching

我正在使用PHP HTML DOM Parser从外部网站提取数据.为了减少负载并加快页面渲染时间,我想缓存我拉一段时间的数据.我怎样才能做到这一点?

dtb*_*rne 7

我写了这个文件缓存函数,它基本上只是替换了file_get_contents.您可以指定缓存应该持续的时间量$offset或完全覆盖缓存$override.如果您不想使用/ tmp /,只需将该目录更改为可以读/写的内容即可.

function cache_get_contents($url, $offset = 600, $override = false) {
    $file = '/tmp/file_cache_' . md5($url);
    if (!$override && file_exists($file) && filemtime($file) > time() - $offset)
        return file_get_contents($file);

    $contents = file_get_contents($url);
    if ($contents === false)
        return false;

    file_put_contents($file, $contents);
    return $contents;
}
Run Code Online (Sandbox Code Playgroud)