【问题标题】:For "post views" function, which of these two options is better?对于“发布视图”功能,这两个选项哪个更好?
【发布时间】:2016-10-08 03:42:40
【问题描述】:

帖子浏览量:初始化为 0,当用户阅读帖子时递增。如果用户阅读相同的帖子,则不应增加。

为了实现post view功能,我想到了两个方案。

  1. 每个帖子都有一个表格,列出了所有阅读过帖子的用户。在 PostController 中,postview 函数会先尝试在表中找到用户,如果没有找到用户,则增加查看次数。

  2. 使用 cookie。每当用户阅读帖子时,我都会给他一个特定于帖子的 cookie。例如,cookie[:postId] = 1。因此 post 控制器中的视图函数可以在增加查看次数之前简单地检查用户是否有特定帖子的 cookie。

我不确定哪个选项会更好。我认为第二个选项如果合适的话会更好,因为您可以在数据库中节省内存。但这个选项在网络流量方面会更糟吗?我不是 100% 确定这两个选项是否都有效,或者在效率方面哪个更好。

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails cookies view


    【解决方案1】:

    使用(或从)印象派画家:https://github.com/charlotte-ruby/impressionist

    然后您可以像这样在记录上获得独特的印象:

    # only record impression if the request has a unique combination of type, id, and session
    impressionist :unique => [:impressionable_type, :impressionable_id, :session_hash]
    

    【讨论】:

      猜你喜欢
      • 2014-01-05
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多