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.

Técnicas de caché en Node.js y TypeScript para optimizar el rendimiento, evitar llamadas API redundantes y mejorar integraciones reales, especialmente en proyectos de gestión de reservas y detalles de vehículos. El uso de globalThis para almacenamiento en memoria simple y eficiente y recomendaciones

1 oct 2025 • 3 min de lectura • Equipo Q2BSTUDIO

inteligencia-artifial-software-aplicaciones

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.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat