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

131
Vistas
Cómo evitar que los datos se carguen varias veces seguidas con Redis en JavaScript

Entiendo que ejecutar JavaScript en el nodo es de un solo subproceso (que es donde estoy ejecutando el código a continuación), pero me preocupa que la llamada await func(...) en la llamada a continuación detenga la ejecución mientras obtiene datos, causando el próxima llamada para ingresar a este método y llamar a la func(...) nuevamente.

Si estuviera haciendo esto en C# o Java, usaría un candado para asegurarme de que el subproceso espera antes de continuar. ¿Debería estar haciendo algo similar en JavaScript?

 export async function getCacheData( cacheKeyBase: String, func: any, args: any, context: any, timeOut: any = IOREDIS_SLOW_TIME_OUT, ) { const cacheKey = `${cacheKeyBase}-${JSON.stringify(args)}`; const cacheData = REDIS_ENABLED ? await redis.get(cacheKey) : undefined; let retData; if (cacheData) { retData = JSON.parse(cacheData); } else { retData = await func(args, context); await redis.set(cacheKey, JSON.stringify(retData), 'ex', timeOut); } return retData; }
about 4 years ago · Juan Pablo Isaza
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