4

在经过一定时间后,我需要一种方法来修改表中的值。我目前的方法如下:

  • 在表中插入等待期的结束时间
  • 当用户加载请求更改值的页面时,检查当前 >= 结束时间
  • 如果是,则更改值并删除结束时间字段,如果不是,则不执行任何操作

这将成为该网站的主要功能,因此效率是关键;考虑到这一点,您可能会看到我如何做的问题。每次有人访问需要信息的页面时,都会调用相同的代码块。

任何改进或更好方法的建议将不胜感激,最好是在 php 或 perl 中。

作为对 cron 工作答案的回应:谢谢,如果可能的话,我想做类似的事情,但是主机限制是问题所在。由于这是应用程序的主要部分,因此不能受到限制。

4

5 回答 5

5

为什么不使用 cron 在幕后更新这些信息呢?这样您就可以卸载每个页面点击的检查,并且实际上可以安排时间以满足您的应用程序的要求。

于 2008-09-23T18:48:13.907 回答
3

您的解决方案听起来很合乎逻辑,因为您无权访问 cron。另一种方法是将值存储在文件中,下次加载页面时检查上次修改的时间(filemtime(“checkfile.txt”)),并决定是否需要再次修改。您应该测试这两种方法的性能。

于 2008-09-23T19:47:22.640 回答
2

您可以使用 cron 作业定期检查数据库中的每个字段并以这种方式进行更新吗?

其中很大一部分是需要更新的频率。许多共享主机限制了 cron 检查的频率,例如不超过每 15 分钟一次,这可能会影响应用程序。

于 2008-09-23T18:48:11.130 回答
1

您可以在每个页面加载时使用某种触发器。我真的不知道这会如何影响性能,但也许其他人可以提供一些启示。

于 2008-09-23T21:16:48.370 回答
0

如果性能真的开始成为问题,(这意味着比你可能意识到的要多得多)你可以使用 memchached 来存储信息......

于 2008-09-23T21:12:27.977 回答