SQLite Pro
- più veloce di sessioni basati su file
- può essere distribuito in cui le sessioni di file basato sono più imbarazzante
SQLite Contro
- richiede SQLit e che crea una dipendenza e qualcos'altro da monitorare
- più difficile implementare quelle sessioni basate su file nativi
- grandi applicazioni possono rapidamente uccidere la tabella sql da così tante richieste di lettura e scrittura, frammentazione, aggiornamenti dell'indice, ecc. pagina colpire colpo che specifica tabella
Anche soluzione migliore - Memcache
Dal sessioni sono di solito accessibili con ogni pagina tira avrebbe senso utilizzare il meccanismo più veloce possibile senza tutto il sovraccarico di un dat abase layer pur continuando a funzionare in un sistema distribuito (più server PHP, ad esempio).
Usa Memcache che è ben testato con PHP e puoi anche integrare le sessioni di memcache semplicemente modificando alcune impostazioni di php.ini o per un controllo più fine (o per usare altri software come redis) puoi creare la tua sessione personalizzata handler.
Questo ha diversi vantaggi e svantaggi
Memcache Pro
- molto molto veloce
- scala bene
- Facile da implementare tramite PHP.INI
Memcache Contro
- un altro servizio che ha il potenziale di crash e richiede un monitoraggio
- Usa RAM che di solito è una risorsa limitata compaired di spazio su HDD e richiede anche un monitoraggio
Anche se dovresti usare un altro software per monitorare entrambe le cose o scrivere uno script di lavoro cron che c hecks il servizio memcache è ancora in esecuzione - ma questa è un'altra domanda e risposta per un altro giorno. Il punto è che questi svantaggi possono essere in qualche misura attenuati.
Ulteriori approfondimenti sugli argomenti trattati
OK E se Li uso entrambi se accessibili che sia .. Diciamo che il primario è memcache/d e quando ne viene creato uno nuovo da aggiungere in SQLite e SQLite da usare solo se memcache/d è inattivo? –
Sessioni primarie e secondarie? Ay!? No, segui solo memcache: non crederesti solo quanto sia più veloce rispetto a SQLite o alle sessioni basate su file. Se memcache è inattivo, riavvialo! Sotto un sito con traffico intenso, se si parla di memcache al 50%, quando rientra in SQLite molto probabilmente andrà in crash comunque !!! Con memcache otterrai molto più rendimento rispetto a sqlite, il che significa che non puoi ricorrere a questo. Se si desidera ricorrere a qualcosa, deve essere almeno basato sulla memoria (ad esempio APC, ma non verrà distribuito poiché è solo una cache locale). – VBAssassin
Non è meglio avere un'alternativa sicura ai guasti? –