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

111
Vistas
Almacenamiento en caché de datos de consulta seleccionados en el lado del servidor

Estoy escribiendo una aplicación express, donde envío datos de mis vistas a una base de datos. Pero la mayoría de los datos se asignan a otros datos en las tablas de la base de datos.

Por ejemplo, es un menú desplegable para elegir el nombre del estudiante: una vez que elija al estudiante por su nombre, un menú desplegable a continuación mostrará todos los roles para los que está permitido.

Así que estoy siguiendo este patrón de

 app.post('\action1', function(req,res){ function querySomething(){ var defered = Q.defer(); connection.query(some_select_query,defered.makeNodeResolver()); return defered.promise; } function querySomethingElse(){ var defered = Q.defer(); connection.query(some_other_select_query,defered.makeNodeResolver()); return defered.promise; } Q.all([querySomething(), querySomethingElse()]).then((results,err) => { connection.release() if(results){ res.render('some_view.ejs', { result1:results[0][0], result2:results[1][0] }); } else{ res.render('error.ejs',{}); } }) })

Ahora, el problema es que tengo que seguir este patrón de seleccionar algo de varias tablas, pasar todas estas funciones a una promesa, y cuando los resultados se devuelven, ir a mi vista con todos esos objetos de resultado, para poder usarlos en mi punto de vista, como un medio para hacer menús desplegables que dependen unos de otros.

A veces tengo que reescribir esto varias veces.

Hacer una consulta de selección como esta requeriría un rendimiento intensivo, especialmente si todas las vistas usan el resultado de la misma consulta.

¿Hay alguna manera de que pueda crear un almacén de datos en caché en mi código del lado del servidor express y consultar eso en lugar de la base de datos real?

Si hay una inserción o una actualización, actualizaré esta tienda y simplemente haré una nueva selección * esa vez.

¿Qué bibliotecas hay además de Express que me ayudarán a hacer esto?

¿Mysql-cache hace lo mismo? También estoy usando la agrupación de conexiones con createPool.

¿Cómo logro esto, o simplemente restablezco el uso de grandes mvc como velas para reescribir mi aplicación?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede probar el módulo apiCache npm.

" A veces tengo que reescribir esto varias veces".

Según la necesidad comercial, es posible que desee manejar cada caso de uso por separado y este escenario no se ocupa del almacenamiento en caché.

Hacer una consulta de selección como esta requeriría un rendimiento intensivo, especialmente si todas las vistas usan el resultado de la misma consulta.

Este es un ejemplo clásico de la necesidad de almacenamiento en caché del lado del servidor .

about 4 years ago · Santiago Trujillo 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