同步数据库更新/检查投标平台

时间:2012-06-21 11:20:04

标签: php mysql

我正在php / mysql上构建一个平台,允许用户使用一定比例的产品。基本上,他们选择他们想要竞标的百分比以及他们想要竞标的加价价格。 1.2。

我遇到的问题是,如果同一产品同时有多个出价,我需要对出价进行排队,以便在处理时只有有效的出价通过。例如,如果有价值为1.2的20%可用,并且两个用户在1.2时同时出价20%,则每个出价的流程将为: 1 -----选择当前出价 2 ----- php处理,如果出价仍然可用 3 -----出价

这里的问题是,如果“检查是否可用”都发生在任何一个“地点出价”之前,那么两个出价都将通过并有效地导致股票发行。

是否存在排队此流程的方法,以便在下一个出价之前完成整个步骤1-3。

我最初的想法是使用缓存表存储所有出价,然后每隔几秒运行一次cron,它将按照缓存表中的ID顺序进行处理并相应地通知,但这似乎可能不适用于高流量系统,因为服务器会受到重创。

任何帮助非常感谢

2 个答案:

答案 0 :(得分:0)

如果两个出价永远不会相同,我会在数据层解决。根据item_id,bid_value以及其他任何需要独特的内容,在您的出价表上创建一个唯一键。第二个插入将失败,您可以让用户知道他们被击败了帖子

答案 1 :(得分:0)

我在PHP级别通过首先将出价注入“已接受的出价”来解决此问题,以便任何后续出价都失败。然后我运行检查以查看出价是否合适,如果出价没有被删除,是否表格根据新出价的要求进行了更新。