Ehi, ottimo lavoro. Avessi io le competenze per fare qualcosa del genere

Comunque non è che l'articolo gli confonderà le idee?.... o comunque, sicuramente a me le ha confuse

In fondo usi una Singleton disponibile a tutte le sessioni del portale, appoggiandoti sul filesystem, mi pare di capire. E da lì ti fai una bella cache globale utilizzabile da tutti i client.
Mentre appunto la singleton si limita al livello applicativo di una sessione (globale sì, ma per quella sessione), no?
Tu appoggiandoti al tuo file "permanent.cache" la rendi universale e disponibile anche tra accessi da parte di client diversi; ma di fatto la singleton resta limitata alla singola sessione, o sbaglio?

Non vorrei averla imparata male io: se due client si collegano allo stesso script e richiamano una
Singleton::getInstance();
non ottengono gli stessi dati, no? Da come la conosco io ogni utente ha una singleton diversa.

Correggimi se sbaglio...

Comunque complimenti