2010-07-16 25 views
7

Estoy codificando un sitio web que implica el almacenamiento de datos muy simples, solo una larga lista de nombres sin datos adicionales, en el servidor. Como esta información es tan simple, realmente no quiero usar MySQL (sería demasiado torpe) así que estoy preguntando cuál es la mejor manera de almacenar datos muy simples en el servidor.El mejor método de almacenamiento de datos del lado del servidor para datos simples

Definitivamente preferiría la velocidad sobre cualquier otra cosa, y un fácil acceso a los datos a través de javascript y AJAX también sería muy bueno ya que el resto del sitio está codificado en javascript/jQuery. Realmente no me importa si los datos se pueden ver libremente (ya que estarán disponibles de todos modos), siempre que no puedan ser modificados por usuarios no autorizados.

+1

¿Qué es exactamente lo que 'clunky'? ¿Los datos serán cambiados? ¿De qué cantidad de datos estamos hablando? ¿Cómo se accederá (por ejemplo, cargado en una lista en JS?)? –

+0

Creo que sería una pérdida tener una base de datos MySQL completa almacenando una larga lista de nombres, si se pudiera hacer de otra manera más eficiente. No es necesario cambiar los datos, solo se agregan más datos a lo largo del tiempo. Sería una lista de alrededor de 2000 nombres y se cargaría (preferiblemente a través de AJAX) en el navegador del cliente. – DLiKS

+0

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

Respuesta

3

Utilice un archivo XML que sea accesible desde la web. A continuación, puede consultar el archivo XML desde el navegador si es necesario, y todavía analizar/escribir en PHP. Querrá utilizar la función de bandada en PHP para asegurarse de que dos instancias de una página no intenten escribir en el archivo al mismo tiempo.

+0

¡Gracias por la respuesta! ¿Hay alguna forma de acceder al archivo XML usando Javascript y AJAX? – DLiKS

+1

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

2

Escríbalo en un archivo y guárdelo como un objeto serializado. De esta forma, cuando lees los datos, se puede acceder de forma instantánea al tipo de variable que necesites (matriz, obj, etc.). Esto será más rápido que el análisis XML.

+0

¡Gracias por la respuesta! ¿Me puede indicar algún artículo sobre este método? – DLiKS

+0

Seguro: http://php.net/manual/en/function.serialize.php y http://www.php.net/manual/en/function.unserialize.php para leer y escribir los datos. Entonces, si quiere convertir los datos a json: http://www.php.net/manual/en/function.json-encode.php – Evan

+2

BTW, si no necesita hacer ninguna manipulación en la información del archivo y, literalmente, solo quiero pasar esa información al usuario, puede ser mejor publicar el documento XML, porque no hay carga de procesamiento de servidor, entonces – Evan

5

Hay muchas cosas en que pensar con esto.

  1. ¿La información es la misma para todos los usuarios con un solo conjunto que se aplica a todos los usuarios que hay? ¿O hay un conjunto de datos por separado para cada usuario?
  2. ¿Cómo se le van a servir los datos al cliente? Supongo que tendría un servicio web o que podría devolver un JSON.
  3. Desde el punto de vista de la seguridad, ¿quieres que alguien solo pueda "agarrar" los datos y ejecutarlos?

Personalmente encuentro que una base de datos es a menudo una mejor opción, pero de lo contrario usaría un archivo XML. Sin embargo, tenga en cuenta que debe tener cuidado al cargar/leer archivos XML para atender las solicitudes web y evitar posibles problemas de bloqueo de archivos.

+0

¡Gracias por la respuesta! La información sería la misma para todos los usuarios y no me importa si alguien puede tomar todos los datos, ¡está disponible de todos modos en el sitio, siempre que no puedan editarlo! – DLiKS

Cuestiones relacionadas