2010-07-16 16 views
7

Sto codificando un sito Web che prevede la memorizzazione di dati molto semplici, solo un elenco molto lungo di nomi senza dati aggiuntivi, sul server. Dato che questi dati sono così semplici, non voglio usare MySQL (sarebbe un po 'troppo goffo), quindi mi chiedo quale sia il modo migliore per archiviare dati molto semplici sul server.Miglior metodo di archiviazione dati lato server per dati semplici

Preferirei sicuramente la velocità su qualsiasi altra cosa, e un facile accesso ai dati tramite javascript e AJAX sarebbe molto buono anche perché il resto del sito è codificato in javascript/jQuery. Non mi interessa davvero se i dati possono essere visualizzati liberamente (come sarà comunque disponibile), a patto che non possano essere modificati da utenti non autorizzati.

+1

Che cosa si trova esattamente "goffo"? I dati saranno cambiati? Di quali quantità di dati stiamo parlando? Come sarà accessibile (ad esempio, caricato in una lista in JS?)? –

+0

Penso che sarebbe uno spreco avere un intero database MySQL semplicemente memorizzando una lunga lista di nomi, se potesse essere fatto in modo più efficiente in un altro modo. I dati non devono essere modificati, solo più dati aggiunti nel tempo. Sarebbe un elenco di circa 2000 nomi e verrebbe caricato (preferibilmente tramite AJAX) nel browser del client. – DLiKS

+0

http://stackoverflow.com/questions/3265142/javascript-jquery-data-storage-method-database – Anders

risposta

3

Utilizzare un file XML accessibile dal Web. Quindi è possibile interrogare il file XML dal browser, se necessario, e comunque analizzarlo/scriverlo in PHP. Ti consigliamo di utilizzare la funzione flock in PHP per assicurarti che due istanze di una pagina non provino a scrivere sul file nello stesso momento.

+0

Grazie per la risposta! C'è un modo per accedere al file XML usando Javascript e AJAX? – DLiKS

+1

http://en.wikipedia.org/wiki/XMLHttpRequest – Aaron

2

Scrivilo in un file e salva i dati come oggetto serializzato. In questo modo quando leggi i dati è immediatamente accessibile come il tipo di variabile che ti serve (array, oggetti, ecc.). Questo sarà più veloce dell'analisi XML.

+0

Grazie per la risposta! Puoi indicarmi qualche articolo su questo metodo? – DLiKS

+0

Certo: http://php.net/manual/en/function.serialize.php e http://www.php.net/manual/en/function.unserialize.php per leggere e scrivere i dati. Quindi, se si desidera convertire i dati in json: http://www.php.net/manual/en/function.json-encode.php – Evan

+2

BTW, se non è necessario effettuare alcuna manipolazione sulle informazioni del file , e letteralmente voglio solo passare le informazioni all'utente, servire il documento XML potrebbe essere migliore, perché non c'è carico di elaborazione del server quindi – Evan

5

Ci sono molte cose a cui pensare con questo.

  1. Le informazioni sono le stesse per tutti gli utenti con un solo set valido per tutti gli utenti? O esiste un insieme separato di dati per ciascun utente?
  2. Come verranno forniti i dati al client, la mia ipotesi è che si disporrebbe di un servizio Web o che potrebbe restituire un JSON.
  3. Dal punto di vista della sicurezza, vuoi che qualcuno sia in grado di "prelevare" i dati ed eseguire?

Personalmente trovo che un database sia spesso una scelta migliore, ma altrimenti userei un file XML. Tieni presente, tuttavia, che devi prestare attenzione con il caricamento/la lettura di file XML per soddisfare le richieste Web per evitare potenziali problemi di blocco dei file.

+0

Grazie per la risposta! Le informazioni sarebbero le stesse per tutti gli utenti e non mi importa se qualcuno può semplicemente prendere tutti i dati, è comunque disponibile gratuitamente sul sito, purché non possano modificarli! – DLiKS

Problemi correlati