【问题标题】:Is there a point in using Redis for small sized Gorilla sessions将 Redis 用于小型 Gorilla 会话是否有意义
【发布时间】:2014-08-29 22:46:16
【问题描述】:

在我看来,只要您只想存储简单的值,例如上次访问的时间戳以及会话中的用户 ID,那么将 Redis 用作 Gorilla 会话的会话持久性确实没有任何意义,因为它们似乎无论如何都将其存储在客户端的cookie中。

我在这个假设中是否正确?

我知道存在大小限制,而且如果我要将会话存储在文件中(大猩猩会话的另一个可用存储选项),则无法扩展到该机器之外,但同样,这整个“会话store" 不是 gorilla 会话 cookie 存储的问题吗?

顺便说一句,我在这里看到了这个问题,不,它没有解决这个问题,所以它不是重复的。 What is the advantage of using Gorilla sessions custom backend?

【问题讨论】:

    标签: session cookies go


    【解决方案1】:

    使用 Redis(或任何其他服务器端存储)可以帮助避免一整类问题,即:

    1. 较大的 cookie 大小会增加每个请求的开销 - 在移动连接上,即使每个请求额外增加 4K 也可能很多。
    2. 大大降低了 cookie 数据存储在服务器端的风险。
    3. 能够在会话中存储超过 4K 的数据(即来自多步表单的表单数据)
    4. ...在 Redis 的情况下,能够轻松地使服务器端会话过期(使用 mySQL 或文件系统存储更容易出错。

    仍然需要 cookie,因为它必须存储一个标识符,以便用户可以与他们的服务器端会话相关联。这并不是 gorilla/sessions 所特有的,几乎所有其他服务器端会话实现都是如此。

    如果您认为您的用例很简单,那么请坚持使用基于 cookie 的会话。 gorilla/sessions 可以很容易地在以后更改后备存储。

    【讨论】:

    • 谢谢。正是我正在寻找的信息。优雅。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2014-06-09
    • 2014-11-22
    • 2016-09-07
    • 1970-01-01
    • 2014-05-24
    相关资源
    最近更新 更多