【发布时间】:2016-12-14 08:00:47
【问题描述】:
我有一个简单的 PHP 脚本,可以计算给定字符串输入的一些内容。它将结果缓存到数据库中,我们偶尔会删除超过一定天数的条目。
我们的程序员将此数据库实现为:
function cachedCalculateThing($input) {
$cacheFile = 'cache/' . sha1($input) . '.dat';
if (file_exists($cacheFile) {
return json_decode(file_get_contents($cacheFile));
}
$retval = ...
file_put_contents(json_encode($retval));
}
function cleanCache() {
$stale = time() - 7*24*3600;
foreach (new DirectoryIterator('cache/') as $fileInfo) {
if ($fileInfo->isFile() && $fileInfo->getCTime() < $stale) {
unlink($fileInfo->getRealPath());
}
}
我们使用 Ubuntu LAMP 和 ext3。缓存查找在多少条目数时会变得不固定或违反硬限制?
【问题讨论】:
-
我可以建议serverfault.com/questions/43133/… 作为一个好的起点吗? IMO 与其说是“非常慢”(我认为这样的系统本质上是这样),不如说是“明显较慢”(也就是减速是否会影响工作流程)。
标签: php filesystems ext3