2013-10-27 88 views
0

我最近有一个问题:我们如何才能意识到实时按钮点击的限制? 例如,按钮上的点击次数有10次限制。例如,鲍勃点击了按钮,然后Bob和Rob发现有9次点击。第10次按下按钮后禁用。如何实时点击按钮上的点击次数限制?

你会建议什么?

+0

是否要限制所有用户的点击次数,如果两个不同的用户点击该按钮,可用的点击次数是8次?如果是这样,您需要使用您网站的所有用户之间的通信,然后如果Rob单击您必须通知bob剩余多少点击。也许websocket会帮助你。 –

+0

您需要使用一些东西来协调和调解浏览器中的点击次数。许多开发人员可能会使用socket.io作为“实时”部分,但最终,如果没有中央服务来决定是否允许根据您建立的规则进行“点击”,这是不实际的(因为您将拥有竞赛条件)。 – WiredPrairie

回答

0
  • 使用数据库来跟踪点击
    • 根据您的功能性需求的数量,你可能想在频谱与“最终一致性”的“立即一致性”结束这样既可以使用传统的关系数据库与约束和事务处理或将点击存储在一个单独的MongoDB文档中,您可以自动更新。
  • MongoDB的您可能会成立一个ClickTrackers收集和像一个文件:

{ 
    button: "reserveSeat": 
    clickedBy: [userId1, userId2] 
} 
  • 那么你可以使用$addToSet
  • 一个Redis的集可能工作得很好(假设您允许每个用户1次点击)
  • 你会想一些实时库,帮助您推送更新了连接到浏览器。也许meteor.js或socket.io.js
  • 没有办法避免边缘情况下显示用户之间有1点击左,其他人点击它,然后第一个用户点击它之前点击数减少0(比如买票流行的演唱会,例如),所以必须进行处理并编写测试了它,并有一个UI要说到用户“哎呀没有点击左侧,实际上,对不起”

希望这可以让你开始,但因为它是你的问题是没有遵循stackoverflow指南,因为它是“太宽泛”,你还没有发布任何你已经尝试过的代码,所以去尝试一些东西,并回来一些代码片段。