Rack::Session::Pool和
Rack::Session::Cookie的不同用例是什么?
据我所知(如果我错了,纠正我):
> Cookie存储所有会话密钥:值对直接在cookie(编组)
>池只将一个id存储在cookie中,并在@pool中维护剩余的会话哈希
那么,选择其中一个的含义是什么?什么是@pool?为什么Pool需要从Cookie公开不同的公共接口?为什么文档如此缺乏?
解决方法
你是对的,Session :: Cookie封送和存储cookie中的会话.
Session :: Pool将会话保留在内存中.
游泳池有一些优点:
- faster,no marshaling needed - you can keep any objects with it(read ones that can not be marshaled)
但是当您重新启动应用程序时,所有会话都将丢失.
使用Cookie,您将以编组的价格重启持续会话.