> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Cómo almacenar en caché recursos costosos en tu código de Rules.

# Almacenar en caché recursos costosos en Rules

<Warning>
  La fecha de fin de vida útil (EOL) de Rules y Hooks será el **18 de noviembre de 2026**, y ya no están disponibles para nuevos inquilinos creados a partir del **16 de octubre de 2023**. Los inquilinos existentes con Hooks activos conservarán el acceso al producto Hooks hasta esa fecha.

  Recomendamos encarecidamente que uses Actions para ampliar Auth0. Con Actions, tienes acceso a información de tipos más completa, documentación integrada y paquetes públicos de `npm`, y puedes conectar integraciones externas que mejoran tu experiencia general de extensibilidad. Para obtener más información sobre lo que ofrece Actions, consulta [Understand How Auth0 Actions Work](/es/docs/customize/actions/actions-overview).

  Para ayudarte con la migración, ofrecemos guías que te ayudarán a [migrar de Rules a Actions](/es/docs/customize/actions/migrate/migrate-from-rules-to-actions) y [migrar de Hooks a Actions](/es/docs/customize/actions/migrate/migrate-from-hooks-to-actions). También contamos con una página específica, [Move to Actions](https://auth0.com/extensibility/movetoactions), que destaca comparaciones de funcionalidades, [una demo de Actions](https://www.youtube.com/watch?v=UesFSY1klrI) y otros recursos para ayudarte durante el proceso de migración.

  Para obtener más información sobre la obsolescencia de Rules y Hooks, consulta nuestra entrada del blog: [Preparing for Rules and Hooks End of Life](https://auth0.com/blog/preparing-for-rules-and-hooks-end-of-life/).
</Warning>

En Rules puedes almacenar recursos costosos usando el objeto `global`. El objeto `global` persiste entre ejecuciones individuales, por lo que puedes reutilizar lo que se almacena allí en lugar de crearlo cada vez que se ejecuta una Rule. Sin embargo, el entorno de Rules puede reciclarse en cualquier momento, por lo que tu código **debe** comprobar siempre que `global` contiene lo que esperas.

Este ejemplo muestra cómo usar el objeto `global` para conservar una conexión de MongoDB:

```javascript lines theme={null}
//Si el objeto db está disponible, úsalo.
if (global.db){
  return query(global.db, callback);
}

//Si no, obtén la db (mongodb en este caso)
mongo('mongodb://user:pass@mymongoserver.com/my-db',  function (db){
  global.db = db;
  return query(db, callback);
});

//Realiza el trabajo real
function query(db, cb){
  // Haz algo con db
  ...
  return cb(null, user, context);
}
```

Para obtener más información sobre cómo usar MongoDB, consulta [el manual de MongoDB](https://docs.mongodb.com/manual/).
