我正在做一些涉及单个数据库查询的错误检查。错误是测试cron作业是否已停止工作,因此本质上我不想使用cron作业来运行PHP函数。
我没有在每个网页浏览上运行数据库调用,而是考虑了一种不同的方法,每隔X次浏览运行一次"是减轻负荷的好方法。
这不是我所听说过或者可以寻找的东西 - 这让我觉得这是一个更好的选择。非常有兴趣听取利弊。
答案 0 :(得分:5)
如果您正在使用PHP会话,实际上您可能已经在每次调用中使用完全相同的机制。 PHP会话垃圾收集器完全相同 - 随机删除过期的会话。
请参阅:https://secure.php.net/manual/en/sessionhandler.gc.php
清理过期的会话。当会话启动或调用session_start()时,由PHP在内部随机调用。调用此频率基于session.gc_divisor和session.gc_probability配置指令。
要做到这一点,只需滚动一个随机数并检查它是否高于"百分比"你需要:
$roll = mt_rand(1, 100);
if ($roll > 90) {
// This will fire in 10% of cases
// Do what you need
}
但重要的是要考虑:
第1点和第2点将此机制从'#34;可靠"对于那些不是非常重要的东西,或者作为另一种可靠机制的附加保护措施,并不是非常可靠的。
所以,我会说 - 衡量一切,如果你还想要它 - 继续使用这个机制。