我正在做一些错误检查,涉及单个数据库查询.错误是测试cron作业是否已停止工作,因此本质上我不想使用cron作业来运行PHP函数.
我没有在每个网页浏览上运行数据库调用,而是认为"每X次浏览一次运行"的不同方法将是减轻负载的一个很好的替代方法.
这不是我听说过或者可以寻找的东西 - 这让我觉得有更好的选择.非常有兴趣听取利弊.
实际上,如果您正在使用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
}
Run Code Online (Sandbox Code Playgroud)
但重要的是要考虑:
第1点和第2点将这种机制从"可靠"类别转移到"不太可靠,无论是对于那些不是非常重要的东西,还是作为另一种可靠机制的附加保障".
所以,我会说 - 衡量一切,如果你还想要它 - 继续使用这个机制.
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |