2017-05-26 33 views
0

我在我的sql数据库中有100-150行数据用于PHP网站/应用程序。第二个更新sql数据的最佳方法

数据库行中的每项代表一个'产品报价'。每个报价都有几个基本属性,有效性状态和有效期限。

由于每个报价在网页上列出,时钟将倒计时到其给定的到期日期。如果某个要约的有效期状态为“有效”,那么该要约的状态将需要更新为“过期”。除此之外,还需要发生一些其他PHP功能(这些发送交易电子邮件和更新用户注意列表)

我正在使用的coundown计时器能够在倒数到给定的终止日期时触发回调。这可能会触发一个AJAX命令来更新报价有效性状态并执行任何我需要的操作。但是,如果我有100个人查看商品页面,那么在回调时会触发100个事件,如果没有人在我的页面上,则该事件根本不会触发。所以这不是一个可行的解决方案。

我认为CRON工作,但我知道这些经常运行在最多一分钟,再次这不适合作为优惠到期第二。

像ebay这样的网站如何更新他们的上市信息,每天有数千行数据在第二个项目上达到他们的结束时间?

是否有任何减少服务器负载的最佳实践示例?

+0

当您输入要约时,请添加其到期时间。当用户访问您的网站时,启动计数器作为到期时间 - 当前时间。所以你有一个计数器,你不需要更新表。当用户使用优惠检查时,如果使用时间少于过期时间。 –

+0

如果我有400名会员,该解决方案如何一次向所有400人发送电子邮件,并在到期时间发生时自动执行此事件? – Sjmc11

+0

所以,现在这是第二个问题,因为您在问题中从未提到过这样的内容。为此你必须使用cron或其他选择。 –

回答

0

更好的选择是分两步做。

删除AJAX事件。使用ajax进行检查:例如,当计时器到期(在ajax上)时,它们会禁用购买按钮或其他所需的任务。

在web服务器上,做两件事:首先,使用cron或类似的过期每分钟。其次,在“购买”尝试(如果您的网页是商店),请检查请求的优惠是否已经有效。

这是您可以使用的更好的方法。

相关问题