如果我们有一个 PHP 函数,它会根据某个输入进行困难的计算,例如:
function count_score($var1, $var2, $var3){
// based on $var1, $var2 and $var3 we run
// a 5000-lines long calculation,
// resulting in one $output
return $output;
}
现在,这里发生了什么:
- 该功能大约需要 1 秒才能运行
- 可以输入的 $var1、$var2 和 $var3 的组合并不多(大约 3000 个左右)
我可以做什么:
我可以根据每个组合存储函数的结果,并检查它是否已经计算过。我可以将其存储到每个用户的 $_SESSION,因此每次调用该函数时,都会在 $_SESSION 中查找结果。
但是,如果我想为所有用户存储这些结果怎么办?那时我不能使用 $_SESSION,因为它没有在整个站点上为所有用户全局共享。那我怎么保存呢?
计算结果不同的唯一时间是我更改函数时,大约每 48 小时发生一次。然后我可能可以手动指定功能修订并检查该修订的结果。但是我如何/在哪里存储所有这些?
编辑(可选)该方法应该在 CRON(没有 http 层)中工作,但这不是必需的。