Cacheable - package de mise en cache pour Node.js basé sur Keyv
(github.com/jaredwray)Package de solution de mise en cache utilisable dans divers projets
- cacheable : framework de mise en cache de nouvelle génération. Conçu et construit dès le départ autour d’un cache de couche 1 / couche 2. Solide pour le cache distribué et la montée en charge
- cache-manager : utilisé dans des services comme NestJS, avec des fonctionnalités puissantes comme
wrap. Largement utilisé dans diverses applications - cacheable-request : ajoute une fonctionnalité de cache aux requêtes HTTP natives. Prend en charge un cache conforme à la RFC. Permet d’appliquer facilement le cache aux requêtes réseau
- flat-cache : cache mémoire rapide avec persistance dans un stockage fichier. Permet un accès rapide en mémoire tout en enregistrant les données de cache dans des fichiers
- file-entry-cache : cache léger pour les métadonnées de fichiers. Adapté aux processus qui traitent un ensemble spécifique de fichiers, en retraitant uniquement ceux modifiés depuis la dernière exécution
- @cacheable/node-cache : package de remplacement pour node-cache
Cacheable
- moteur de cache haute performance de couche 1 / couche 2 axé sur le cache distribué
- prise en charge prévue de fonctionnalités d’entreprise comme CacheSync
- offre des performances robustes grâce au moteur de stockage Keyv
- API simple pour mettre en cache et récupérer des données
- principales caractéristiques
- fournit une API simple et intuitive
- structure légère sans modules inutiles
- utilise Keyv comme moteur de stockage fiable et scalable
- Memory Caching prenant en charge le LRU (Least Recently Used) et l’expiration du cache
- structure résiliente grâce à la reprise sur erreur et à la prise en charge hors ligne
- prise en charge de
wrap/ mémorisation pour les fonctions synchrones et asynchrones - prise en charge des Hooks et du traitement d’événements pour étendre les fonctionnalités
- application simple du TTL (durée de vie) en millisecondes (1 minute = 60000ms, 1 heure = 3600000ms, 1 jour = 86400000ms)
- prise en charge des opérations de cache de couche 2 non bloquantes (
non-blocking) - synchronisation de cache distribué basée sur Pub/Sub (bientôt disponible)
- tests complets et couverture de code
- prise en charge de ESM et CommonJS, compatible avec TypeScript
1 commentaires
On dirait qu’ils ont simplement séparé des couches
primaryetsecondaryà l’intérieur du package, puis stockent le tout dans Keyv.Si vous vous attendiez à un cache de couche 1 / couche 2 au sens classique du terme, vous pouvez faire marche arrière.