2012-11-26 18 views
14

Rack::Session::Pool और Rack::Session::Cookie के विभिन्न उपयोग मामलों क्या हैं?`रैक :: सत्र :: पूल` का उपयोग 'रैक :: सत्र :: कुकी'

जहां तक ​​मैं समझता हूँ (मुझे ठीक कर लें मैं गलत हूँ):

  • Cookie भंडार सभी सत्र कुंजी: मान जोड़ों सीधे कुकी (मार्शल) के भीतर
  • Pool केवल संग्रहीत करता है एक कुकी में आईडी, और शेष सत्र हैश @pool

तो: दूसरे पर एक को चुनने के लिए प्रभाव/कारण क्या हैं? @pool क्या है? Pool को Cookie से एक अलग सार्वजनिक इंटरफ़ेस का खुलासा करने की आवश्यकता क्यों है? दस्तावेज़ीकरण की कमी क्यों है?

उत्तर

14

आप सही हैं, Session::Cookie कुकीज़ में मार्शलिंग और स्टोर सत्र।

Session::Pool इसके बजाय सत्र में सत्र रखता है।

Pool कुछ लाभ हैं:

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

लेकिन आप अपने एप्लिकेशन को पुनः प्रारंभ जब सभी सत्रों खो जाते हैं।

Cookie के साथ आप मार्शलिंग की कीमत पर पुनरारंभ-निरंतर सत्र करेंगे।

वैकल्पिक - Session::Memcache, Session::Mongo

+1

रैक :: सत्र :: मोनेटा: http://www.rubydoc.info/github/minad/moneta/Rack/Session/Moneta भी एक सार सत्र की दुकान इंटरफ़ेस एक करने के लिए प्रदान करता है कुंजी/मूल्य भंडार की बड़ी विविधता –

संबंधित मुद्दे