ActiveRecord SessionStore的性能

Mic*_*rfs 5 session activerecord ruby-on-rails session-cookies

从cookieStore到ActiveRecord SessionStore的性能损失有多大?

默认情况下,Ruby on Rails使用CookieStore.但它的缺点是客户端需要启用其cookie.

切换到活动SessionStore似乎解决了这个问题.我正在考虑转换.

我读到使用ActiveRecord SessionStore表现更差.但更糟的是什么?用户会注意到这一点,还是几毫秒?有没有人比较两个选项的基准测试结果?

是否有其他原因(不)切换到ActiveRecord SessionStore?

Mik*_*wis 5

更糟糕的是,它需要查询一个数据库,然后需要计算答案,而不是直接去客户端的 cookie。

然而,真的有那么糟糕吗?您是对的,因为在大多数情况下,性能差异非常小。

优点:

亲和性 - 如果您的 Web 应用程序扩展到不止一台服务器,将会话移动到数据库可以让您在没有服务器亲缘关系的情况下运行服务器

安全性 - 由于您只在客户端存储会话 ID,这减少了用户通过客户端操纵任何数据的机会。

缺点

性能 - 您可以从客户端读取会话/cookie 数据,而不是查询数据库。


Leo*_*sov 5

但是 AR 会话存储也依赖于 cookie - 它在那里保存会话 ID。

据我所知,没有办法让 Rails 会话在禁用 cookie 的情况下工作。