CGI::Session::CookieStore::CookieOverflow
Spesso per evitare accessi al database o per matenere le informazioni su tutte le pagine visitate facciamo uso delle sessioni, in generale dovremmo usarne poche, di piccole dimensioni e con informazioni non sensibili!!
Con il Rails 2.1 di default le sessioni sono memorizzate nei Cookies.
I vantaggi dei Cookies
Questa soluzione è ottima per molti motivi tra cui ad esempio la riduzione del numero di accessi al FileSystem del server, che in situazioni di scaling dell’applicazione può essere un grande vantaggio.
Il limite dei Cookies
Il limite nell’utilizzo delle sessioni memorizzate nei Cookies sono le dimensioni del cookie che al massimo è di 4K, per cui può verificarsi l’errore CGI::Session::CookieStore::CookieOverflow.
La soluzione al CookieOverflow
Per ovviare a questo problema possiamo diminuire le informazioni da mettere in sessione :-), oppure modificare il session_store impostandolo nell’environment.rb:
1 config.action_controller.session_store = uno_dei_tipi_di_salvataggio delle_sessioni
Con uno di questi motori:
- CookieStore (default) - Salva tutto sul client.
- PStore - Salva i dati sul Fyle System
- SQLSessionStore - Salva i dati sul db usando SQL.
- DRBStore - Salva i dati un un client DRB.
- MemCacheStore - Salva i dati nel MemCache.
- ActiveRecordStore - Salva i dati nel db usando Active Record
Reimpostando il vecchio PStore evitate il problema in quanto non ci saranno più limiti di grandezza.


Più db:sessions:create =)
Bellissimo blog
Saluti
Alberto