【问题标题】:authlogic require userauthlogic 需要用户
【发布时间】:2010-10-12 19:56:11
【问题描述】:

我使用 authlogic 进行身份验证,某些操作需要登录用户,该用户通过 before_filter 控制,如下所示。我还在 User 模型上使用 friendly_id ,并且在内部,在 User 模型上查找的所有内容也对friendly_id slug 表进行了查询。这会导致至少 3 次针对特定页面视图的查询,而且这种情况经常发生。

有没有办法在不每次都运行这些查询的情况下维护此功能?

我还使用 memcached 作为对象存储。那有可能吗?它与 authlogic 配合得好吗?

def require_user
        unless current_user
            store_location
            flash[:notice] = "You must be logged in to access this page"
            redirect_to new_user_sessions_url
            return false
        end
    end

【问题讨论】:

    标签: ruby-on-rails authentication authlogic friendly-id


    【解决方案1】:

    我不会担心太多。 Rails 非常聪明,会缓存查询,所以基本上它只会运行一次。密切注意您的日志文件,看看您是否可以找到有问题的查询,很可能他们会预先(缓存)建议查询结果仍在缓存中。

    【讨论】:

    • 我看到类似..[DEBUG 12-10-2010 13:52:37] 用户负载 (0.5ms) SELECT * FROM users WHERE (users.id = ' 9') 限制 1. 虽然没有缓存,这些来自我的生产日志。
    • 好吧,假设它没有缓存,您可以看到执行该查询需要 0.5 毫秒。并不是说你在这方面得到了很大的速度提升
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多