[Php-it] dimensione file sessione

Marcello Vezzelli marcello at vezz.it
Wed Mar 14 13:27:20 CET 2007


Cristiano Verondini ha scritto:
>
>    Il DB è ovviamente meno performante, più scalabile, ha il problema 
> di dover gestire 'a mano' il garbage collection.

Il db l'avevo già scartato, perché il problema che chiudo fuori dalla 
porta (le molte query) me lo ritrovo dalla finestra.

>
>        (1) memorizzazione in sessione solo di dati 'primitivi'
>        (2) memorizzazione in sessione di un identificativo che 
> permetta di risalire ad un file nel quale è serializzato l'oggetto
>
>    Nel caso (1) ovviamente i tuoi oggetti useranno il tipo primitivo 
> (solitamente un array) per la memorizzazione dello stato. La soluzione 
> (2) è quella che preferisco.

Se ho capito, una buona soluzione quindi potrebbe essere tenere dei 
buoni vecchi file .txt in un percorso opportunamente fuori dalla 
document root, ed accedere con un riferimento univoco a questi file (ad 
esempio un nome di file parlante o una associazione di qualche tipo sul 
db, che mi tengo in sessione).
Questi file txt conterranno in realtà un array, memorizzato con un 
formato facile e veloce da ricostruire.

Ogni volta che ho bisogno di sapere una domanda e le relative risposte, 
quindi apro il file txt relativo, rimonto l'array, estraggo quel che mi 
serve e lo passo indietro sulla XMLHttpRequest.
Meglio ancora...
se frammento ulteriormente i file txt fino ad ottenere tanti file per 
ogni questionario, ognuno dei quali contiene domanda e risposte, mi 
risparmio il passaggio dell'array. Il formato del file txt sarebbe molto 
semplice (prima riga domanda, seconda riga risposta 1, terza riga 
risposta 2, etc).
Mi organizzo una gerarchia di directory coerente e quando vado a 
generare i txt partendo dal db faccio pulizia in modo da non avere file 
vecchi.

Tra l'altro le domande e risposte sul db vengono generate partendo da un 
txt... quindi uso il db solo come contenitore permanente, e ci accedo 
solo in fase di generazione domande/risposte e generazione txt.

Quindi in sessione rimane poco o niente (non ci sono neanche oggetti, 
giusto un paio di riferimenti sull'utente e su quel che sta facendo) e 
il resto me lo gestisco esternamente.
Non mi dispiace.

Era questa la direzione che intendevi?

Grazie (come sempre) degli ottimi consigli.

Saluti
Marcello



More information about the Php-it mailing list