Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
Usando el mapa con NodeJS

Estoy ejecutando un servidor con NodeJS y manteniendo una cuenta. Dado que las cuentas se mantienen en el mapa, el mapa desaparece cuando se reinicia el servidor. Prefiero usar 'fs' para resolver esto. Cuando se inicie el servidor, tómelo de una carpeta guardada y configúrelo para mapear y guarde el mapa en una carpeta cada 30 segundos. ¿Cómo puedo hacer esto o tienes alguna otra idea?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si usa objetos JS en lugar del map , puede usar el método JSON.stringify para convertir el objeto en una cadena y luego almacenarlo en el sistema de archivos. Imagina algo como esto:

 const database = {"user1": {"some": "data"}, "user2": {"some": "data"}}; const serializedDatabase = JSON.stringify(database); fs.writeFileSync("./data/database.json", serializedDatabase);

Puede ejecutar este código dentro del bucle setInterval para que se ejecute cada 30 segundos:

 setInterval(() => { const serializedDatabase = JSON.stringify(database); fs.writeFileSync("./data/database.json", serializedDatabase); }, 30 * 1000);

Luego, si desea leer los datos una vez que inicie su aplicación, solo require el archivo:

 const database = require("./data/database.json");

Obtendrá sus datos en la memoria. Algunos puntos:

  • Si lo haces de esta manera puedes perder datos. Si su servidor falla 20 segundos después de la última vez que guardó, perderá todos los datos almacenados en la memoria en los últimos 20 segundos.
  • El método writeFile probablemente debería usarse en lugar de writeFileSync para que no bloquee.
  • En general, el almacenamiento manual de datos en el sistema de archivos es difícil y complicado. Usar una base de datos real suele ser una mejor opción.
  • Si no tiene ninguna base de datos "grande" como MySQL o MongoDB, puede usar sqlite . Almacena todos los datos en un solo archivo. Es bastante fácil de usar y si desea migrarlo a otro lugar, simplemente copie un archivo.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda