gpt4 book ai didi

php - 实时环境中静态内容的适当缓存持续时间

转载 作者:行者123 更新时间:2023-11-28 12:23:08 24 4
gpt4 key购买 nike

我的应用程序动态地缩小和组合静态内容,例如 CSS/JavaScript,以减少最终用户的加载时间。然而,这个过程非常需要资源。因此,我实现了一个缓存系统。通常在现场环境中,这种静态内容很少改变。

将此内容的缓存持续时间设置为一周,甚至更长时间是否愚蠢?然后为管理员提供一个工具,在他编辑样式等时手动清除缓存。

如果能对标签进行更恰当的编辑,我们将不胜感激。

最佳答案

在我看来,在服务器端情况下,缓存失效的持续时间过于简单。您可以知道您的文件何时更新并且您需要重建缓存。如果编辑是通过作为应用程序一部分的某些自定义界面进行的,则很简单:如果进行了任何编辑,只需删除缓存即可。

但即使您的管理员通过 FTP 更新文件,您也可以查看时间戳。

例子:

<?php
$files = array("reset.css", "style.css");

$timestamps = "";
foreach( $files as $file ){
$timestamps .= filemtime($file);
}
$cache_file = md5($timestamps).".css";

if( !file_exists($cache_file) ){
// Build minified version into cache file
// (leaving the implementation out here)
concat_and_minify($files, $cache_file);
}

echo '<link rel="stylesheet" type="text/css" href="' . $cache_file . '"/>'; ?>

这只会在任何文件更改时重建您的缩小版本。与“愚蠢”的持续时间机制相比,读取每个文件的 mtime 的开销很小,但值得获得灵 active 。

关于php - 实时环境中静态内容的适当缓存持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11142689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com