[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