13 points par xguru 2024-11-15 | 1 commentaires | Partager sur WhatsApp

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

 
sunrabbit 2024-11-18

On dirait qu’ils ont simplement séparé des couches primary et secondary à 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.