0

我最近有个问题:如何实时实现对按钮点击的限制?例如,一个按钮的点击次数限制为 10 次。例如,Bob 点击了按钮,然后 Bob 和 Rob 看到有 9 次点击。第 10 次按下按钮后禁用。

你会有什么建议?

4

1 回答 1

0
  • 使用数据库跟踪点击次数
    • 根据您的功能需求,您可能希望处于频谱的“即时一致性”端与“最终一致性”,因此要么使用具有约束和事务的传统关系数据库,要么将点击存储在单个 mongodb 文档中,您可以自动更新.
  • MongoDB 您可以设置 ClickTrackers 集合和文档,例如:

.

{
  button: "reserveSeat":
  clickedBy: [userId1, userId2]
}
  • 然后你可以使用$addToSet
  • redis 集可能运行良好(假设您允许每个用户单击 1 次)
  • 您将需要一些实时库来帮助您将更新推送到连接的浏览器。也许meteor.js 或socket.io.js
  • 没有办法避免在向用户显示左单击 1 次,其他人单击它,然后第一个用户在单击计数减少到 0 之前单击它之间的滞后情况(例如购买流行音乐会的门票) ,因此您必须处理此问题并为其编写测试,并有一个 UI 对用户说“哎呀,实际上没有点击,抱歉”

希望这可以帮助您入门,但是由于您的问题没有遵循 stackoverflow 指南,因为它“太宽泛”而且您还没有发布您尝试过的任何代码,所以去尝试一下并返回一些代码片段.

于 2013-10-27T15:08:23.337 回答