跟踪多个用户的点击次数

时间:2012-12-17 23:18:09

标签: ruby-on-rails ruby-on-rails-3 postgresql

我需要一些建议:

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

什么更好?

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

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

    我原来的想法是一个包含4列的表:title goal user_id current_number 并且每次只增加current_number并存储使该数字达到目标的用户的用户ID。

1 个答案:

答案 0 :(得分:0)

你的第一个解决方案似乎是合适的,我看到的唯一缺点是,一旦达到了点击的目标,你的current_number字段变得多余但我没有真正看到任何解决方法,而不会使你的应用程序过于复杂

我认为你可以扩展的唯一可能是将某种背景排队系统与redis后端结合起来,例如ResqueSidekiq。如果性能是一个问题,我只会看不起这条道路。

您可以在github上查看recommendable存储库,了解使用后台处理的类似实现。 Redis的。