[Python] web2py: lo conoscete -> sessioni su db

Manlio Perillo manlio.perillo a gmail.com
Mar 13 Dic 2011 15:16:49 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 13/12/2011 14:38, Alessandro Dentella ha scritto:
> [...]
> Non sono stati differenti, è sempre la stessa cosa (la sessione) che viene
> memorizzata o in ram o in redis o in postgres: voglio scegliere la soluzione
> più idonea per quel particolare tipo di applicazione. 
> 
> Lo stato in memoria non mi piace: non posso riavviare il server con
> serenità. Eliminata questa richiesta non ho neanche più la necessità della
> session affinity. 
> 
> Redis è stato introdotto per affrontare il problema di rallentamenti come
> storage per le sessioni ma come errata diagnosi, ora non è più necessario
> anche perché dalle mie prove (assolutamente primitive) non si guadagna nulla
> di interessante rispetto al db.

Davvero?
Mi aspetto che, per delle semplici sessioni (storage key-value) redis
sia significativamente più veloce di un database relazionale.

Magari sopravvaluto Redis, o sottovaluto PostgreSQL, o semplicemente per
i tuoi numeri non si notano differenze.

> E la velocità non è il problema in ogni caso.
> 
>> Quanta roba ci dovete scrivere nelle sessioni, che le richieste ajax
>> si inciampano a vicenda? Nella sessione scrivici l'id dell'utente e
>> basta, lo scrivi al login e lo usi solo per leggere. Mi sembra di
>> capire che ogni richiesta ci scriva qualcosa: perché lo scrivi nella
>> sessione e non lo tieni in memoria o in redis?
> 
> che vantaggio mi darebbe tenerlo in redis?
> 

Accesso ragionevolmente efficiente ed atomico + consistenza dei dati.
Inoltre non hai il problema della session affinity.

Ti resta da decidere se usare PostgreSQL o Redis.
Le sessioni come sono strutturate?

> [...]


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7nXlEACgkQscQJ24LbaUQAAwCdFl3tzNCaAUYnablnMZT7uOcS
140AoJml43ZlunOce2ENst6q0Gr1uEuJ
=9YGp
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python