[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