Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda