我们有一个在线php搜索实用程序,我们希望通过缓存结果页来提高性能,以便我们可以在用户在第一个搜索后执行相同搜索时显示它们,而不是从数据库中检索相同的数据。
我做了相同的阅读,我理解检查静态缓存页面是否存在于php脚本开头的简单想法,如果不是在底部创建它。
1)在我们有很多(数千)的情况下,搜索缓存静态页面的最佳方法是什么?
2)过去24小时内仅保留静态页面的最佳方法是什么,并删除旧的无关页面。
希望您能分享相关经验或有趣的想法,以帮助我们为我们的网站创建一个良好的缓存系统。
谢谢
答案 0 :(得分:0)
使用基于输入的哈希(如md5):查询,页面,过滤器设置等。
在缓存上保留到期日期。
如果你有复杂的输入,请说:
$input = array(
"query" => "foo",
"filter" => array(
"category" => "movies"
),
"page" => 1
);
您可以通过md5(serialize($input));
答案 1 :(得分:0)
有两种可能的选择,具体取决于您的硬件最适合的用途:
mod_rewrite
。使用cron作业使用创建文件的时间清除旧页面。在这两种情况下,如果缓存在那里,请使用它。使用cron进程删除过时的缓存条目。