POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Almacenamiento en caché en Node.js con TypeScript usando globalThis y declare global Este título se refiere a un blog que habla sobre cómo utilizar la función de caché en Node.js utilizando TypeScript, globalThis y declare global para mejorar el rendimiento de una aplicación. El título es corto y directo, permitiendo que los lectores puedan entender lo que trata el blog en un instante.

Mecanismo de caché simple y ligero con TypeScript en entornos Node.js El texto se ha modificado siguiendo los estándares recomendados para el formato H2, y solo incluye el título del artículo.

Publicado el 01/10/2025

Cuando trabajas en un entorno Node.js con TypeScript a menudo necesitas un mecanismo de caché sencillo y ligero para mantener variables vivas mientras el proceso del servidor esté en ejecución. En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, utilizamos esta técnica para evitar llamadas externas redundantes y mejorar el rendimiento en integraciones reales.

El problema que resolvimos surgió en un proyecto de gestión de reservas para talleres. Cada reserva incluía un vehicle_id que apuntaba a un vehículo en un sistema externo. Un tercero necesitaba obtener datos de la reserva y los detalles del vehículo en la misma llamada API. Para ello creamos un hook que se ejecuta antes de cada fetch de reservas y que: detecta si existe vehicle_id, obtiene los datos completos del vehículo desde el sistema externo y adjunta el objeto vehicle al resultado de la reserva.

El reto fue evitar llamadas API duplicadas. Los datos de los vehículos no cambian con frecuencia, por lo que repetir la consulta para el mismo vehicle_id malgasta tiempo y ancho de banda. La solución fue una capa de caché en memoria que vive mientras el servidor esté activo.

Qué es globalThis y por qué usarlo globalThis es un objeto global en JavaScript y TypeScript que ofrece acceso al scope global independientemente del entorno. Cualquier variable que adjuntes a globalThis será accesible desde cualquier parte del código y permanecerá mientras el proceso siga vivo. Ejemplo de uso práctico: globalThis.myAppName = DriveMotive; console.log(globalThis.myAppName);

Usar globalThis con TypeScript requiere declarar el tipo para evitar errores del compilador. Si escribes globalThis.__vehicleCache = new Map(); TypeScript arrojará un error porque no conoce la propiedad __vehicleCache. Para solucionarlo se siguen tres pasos:

1) Indicar que el archivo es un módulo añadiendo export {}; en el fichero de tipos, por ejemplo types.d.ts.

2) Declarar la variable global para TypeScript con declare global y especificar el tipo. Un ejemplo sencillo sería declarar una variable __vehicleCache de tipo Map o undefined, expresado en texto como Map de string a any si se quiere evitar el uso de caracteres de generics.

3) Inicializar la caché en la lógica de la aplicación si no existe aún. Una línea práctica es const vehicleCache = (globalThis.__vehicleCache ??= new Map()); Esta expresión comprueba si __vehicleCache ya existe en globalThis, si existe lo asigna a vehicleCache y si no existe crea una nueva Map y la asigna.

Con este patrón se logra un almacenamiento en memoria simple y eficiente para reutilizar datos durante la vida del proceso. Es ideal para datos que cambian poco, como los detalles de vehículos en nuestro caso, y evita llamadas innecesarias a servicios externos.

Consideraciones y buenas prácticas

Usar globalThis para caché en memoria es sencillo pero requiere precaución: controlar el tamaño de la caché para evitar agotamiento de memoria, implementar invalidaciones o TTL cuando los datos puedan cambiar, y documentar la existencia de variables globales para el equipo. Para entornos distribuidos o con múltiples instancias de servidor hay que combinar esto con soluciones de caché compartido si se necesita coherencia entre instancias.

En Q2BSTUDIO aplicamos estos enfoques en proyectos de software a medida y plataformas integradas, complementando con servicios cloud cuando es necesario. Si buscas desarrollar una solución robusta y escalable podemos ayudarte con desarrollo de aplicaciones a medida y arquitectura en la nube, o bien integrar capacidades de inteligencia artificial para optimizar procesos y automatizar decisiones.

Palabras clave relevantes: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa un enfoque personalizado para tu proyecto o quieres implementar un sistema de caché sencillo y efectivo en Node.js con TypeScript, en Q2BSTUDIO somos especialistas listos para ayudarte.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio