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

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

切换到Active SessionStore似乎可以解决该问题。我正在考虑切换。

我读到使用ActiveRecord SessionStore的性能会更差。但是更糟的是什么?用户会注意到这一点,还是毫秒级?有人看到比较这两种选择的基准结果吗?

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

最佳答案

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

但是真的那么糟糕吗?您是正确的,因为在大多数情况下,性能差异很小。

优点:

亲和力
如果您的Web应用程序曾经扩展到多个服务器,则将会话移动到数据库可以使您无需server affinity即可运行服务器。

安全
-由于您仅将会话ID存储在客户端,因此减少了用户通过客户端操作任何数据的机会。

缺点

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

08-27 00:46