0

我需要一些建议:

我正在开发一个 Rails 应用程序,其中多个用户单击一个按钮。我需要知道按钮被点击了多少次,并在点击量达到一定数量时禁用按钮。

什么是更好的?

  1. 在按钮表中包括一个名为“clicks”的列,并在每次单击按钮时将数字更新为 1?
  2. 创建一个 clicks 表并在每次单击按钮时插入一行然后检查行数?
  3. 其他建议也很好。

编辑

每个用户可以无限次单击该按钮,我需要知道哪个用户导致该按钮被禁用。

我最初的想法是一个有 4 列的表:每次title goal user_id current_number 只增加current_number1 并存储使数字达到目标的用户的用户 ID。

4

1 回答 1

0

您的第一个解决方案似乎是合适的,我看到的唯一缺点是,一旦达到点击目标,您的current_number领域就会变得多余,但我真的看不出有任何方法可以解决这个问题而不会使您的应用程序过于复杂。

我认为您唯一可以扩展的可能是将某种后台排队系统与 Res 后端(例如ResqueSidekiq )结合起来。但是,如果性能是一个问题,我只会看这条路。

您可以查看github 上的推荐存储库,了解使用后台处理和 redis 的类似实现。

于 2012-12-18T00:10:51.117 回答