15

Rack::Session::PoolRack::Session::Cookieの異なる使用例は何ですか?

私が理解している限り(間違っている場合は修正してください):

  • Cookieすべてのセッション キーと値のペアを Cookie 内に直接格納します (マーシャリング)
  • PoolID のみを Cookie に保存し、残りのセッション ハッシュを内部に保持します。@pool

では、どちらかを選択する意味/理由は何ですか? なに@poolPoolとは異なるパブリック インターフェイスを公開する必要があるのはなぜCookieですか? ドキュメントが不足しているのはなぜですか?

4

1 に答える 1

15

そうです、Session::Cookieセッションをマーシャリングして Cookie に保存します。

Session::Pool代わりに、セッションをメモリに保持します。

Poolいくつかの利点があります:

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

ただし、アプリを再起動すると、すべてのセッションが失われます。

Cookie代わりに、マーシャリングの代償で再起動永続セッションを使用できます。

代替 - Session::MemcacheSession::Mongo

于 2012-11-26T22:25:42.540 に答える