这是问题所在, 我有一个PHP文件每秒调用20秒。如果我写一个查询来更新将执行20次的表。但是我希望它只能在20次通话中更新一次。 20秒后,表需要恢复以进行进一步更新。我怎么能做到这一点?是什么触发自动阻止它一段时间?
I have tried something so far,
答案 0 :(得分:1)
有趣且有趣的方法,在PHP 5.3上,您可以使用APC缓存来存储变量20秒,并且如果它不存在则运行您的查询。这将在PHP 5.5中改变,PHP采用不同的缓存方法。
if(!$value = apc_fetch('key')) {
// Run your query and store the updated key
apc_store('key', true, 20);
}
枯燥乏味的方法,但未来的证明是使用会话变量来有效地做同样的事情,并检查它是否在20秒的限制内。
if(strtotime($_SESSION['timer']) > strtotime("-20 seconds")) {
// run your query and update the timer with the update time.
$_SESSION['timer'] = date();
}