gpt4 book ai didi

ruby - 在 `Rack::Session::Pool` 上使用 `Rack::Session::Cookie`

转载 作者:数据小太阳 更新时间:2023-10-29 06:38:06 29 4
gpt4 key购买 nike

Rack::Session::Pool 有哪些不同的用例?和 Rack::Session::Cookie

据我了解(如果我错了请纠正我):

  • Cookie所有 session 键值对直接存储在 cookie 中(编码)
  • Pool 仅在 cookie 中存储一个 id,并在 @pool
  • 中维护 session 哈希的其余部分

那么:选择一个而不是另一个的含义/原因是什么?什么是@pool?为什么 Pool 需要公开与 Cookie 不同的公共(public)接口(interface)?为什么文档如此缺乏?

最佳答案

你是对的,Session::Cookie 在 cookie 中编码和存储 session 。

Session::Pool 而不是将 session 保留在内存中。

Pool 有一些优点:

- faster, no marshaling needed 
- you can keep any objects with it(read ones that can not be marshaled)

但是当您重新启动您的应用时,所有 session 都会丢失。

使用 Cookie,您将以编码(marshal)处理为代价拥有重新启动的持久 session 。

备选方案 - Session::Memcache , Session::Mongo

关于ruby - 在 `Rack::Session::Pool` 上使用 `Rack::Session::Cookie`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573968/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com