awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
isaacs avatar

isaacs/node-lru-cache

0
View on GitHub↗
5,895 stele·371 fork-uri·JavaScript·BlueOak-1.0.0·10 vizualizăriisaacs.github.io/node-lru-cache↗

Node Lru Cache

node-lru-cache este un magazin cheie-valoare pentru Node.js care implementează un cache limitat de memorie. Previne epuizarea memoriei prin limitarea numărului total de elemente sau a dimensiunii totale în octeți, evacuând automat elementele cel mai puțin recent utilizate (least-recently-used) pentru a menține aceste limite.

Proiectul oferă tipare de caching specializate, inclusiv durate time-to-live pentru a asigura prospețimea datelor și un mecanism stale-while-revalidate care servește conținut expirat în timp ce preia asincron actualizările în fundal. Include, de asemenea, instrumente de diagnosticare pentru monitorizarea hit-urilor, miss-urilor și metricilor de evacuare a cache-ului prin obiecte de stare operațională și canale de diagnosticare.

Implementarea acoperă capabilități mai largi de gestionare a memoriei și recuperare a datelor, cum ar fi preluarea automată a datelor pentru intrările lipsă, curățarea manuală a elementelor învechite și execuția funcțiilor de curățare atunci când elementele expiră pentru a elibera resurse externe.

Features

  • Memory-Limited Caches - Implements a memory-limited key-value store that prevents exhaustion by capping item counts or total byte size.
  • LRU Cache Eviction - Implements a memory-limited cache that automatically evicts the least-recently-used items to prevent memory exhaustion.
  • Cache Eviction Policies - Implements size-based eviction algorithms to maintain memory limits by removing the oldest items.
  • Least Recently Used Caches - Prevents application crashes by capping memory usage through an automatic least-recently-used eviction policy.
  • Application Caching - Stores frequently accessed application data in memory to reduce latency and database load.
  • Hash Maps - Utilizes a hash map to provide constant-time retrieval of cached entries and their associated tracking nodes.
  • Linked-List LRU Evictions - Uses a doubly linked list to maintain access order for efficient least-recently-used item eviction.
  • Time-To-Live Expirations - Implements automatic data expiration based on configurable time-to-live durations.
  • Cache Memory Limits - Enforces memory constraints by blocking items that exceed a calculated size from entering the cache.
  • Resource Disposal - Provides mechanisms for disposing of resources and executing cleanup functions when items are removed.
  • Eviction Callbacks - Implements hooks that execute custom cleanup logic when cache entries are evicted or expire.
  • Resource Lifecycle Management - Ensures the release of external system resources through cleanup logic executed upon item expiration.
  • Cache Performance Monitoring - Tracks hit ratios, misses, and eviction metrics to analyze and optimize caching efficiency.
  • Diagnostic Channels - Provides internal event publishing via diagnostic channels for real-time observability of cache performance metrics.
  • Data Fetching - Automates data recovery by retrieving values through a specified method when a key is missing.
  • Stale-While-Revalidate - Supports the stale-while-revalidate pattern to serve expired content while asynchronously updating entries.
  • Caching - LRU cache implementation.

Istoric stele

Graficul istoricului de stele pentru isaacs/node-lru-cacheGraficul istoricului de stele pentru isaacs/node-lru-cache

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face isaacs/node-lru-cache?

node-lru-cache este un magazin cheie-valoare pentru Node.js care implementează un cache limitat de memorie. Previne epuizarea memoriei prin limitarea numărului total de elemente sau a dimensiunii totale în octeți, evacuând automat elementele cel mai puțin recent utilizate (least-recently-used) pentru a menține aceste limite.

Care sunt principalele funcționalități ale isaacs/node-lru-cache?

Principalele funcționalități ale isaacs/node-lru-cache sunt: Memory-Limited Caches, LRU Cache Eviction, Cache Eviction Policies, Least Recently Used Caches, Application Caching, Hash Maps, Linked-List LRU Evictions, Time-To-Live Expirations.

Care sunt câteva alternative open-source pentru isaacs/node-lru-cache?

Alternativele open-source pentru isaacs/node-lru-cache includ: tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… hashicorp/golang-lru — This is a thread-safe in-memory cache library for Go that automatically evicts the least recently used items when… coocood/freecache — freecache is a high-performance, concurrent in-memory key-value store library for Go applications. It functions as a… memcached/memcached — Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as… lmcache/lmcache — LMCache is a distributed key-value cache manager and tiering system designed to accelerate large language model… olric-data/olric — Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of…

Alternative open-source pentru Node Lru Cache

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Node Lru Cache.
  • tporadowski/redisAvatar tporadowski

    tporadowski/redis

    9,987Vezi pe GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    Vezi pe GitHub↗9,987
  • hashicorp/golang-lruAvatar hashicorp

    hashicorp/golang-lru

    5,091Vezi pe GitHub↗

    This is a thread-safe in-memory cache library for Go that automatically evicts the least recently used items when capacity is reached. It provides a fixed-size memory cache designed to maintain a constant memory footprint by removing the oldest entries as new data arrives. The system includes an eviction manager that executes custom callbacks when entries are purged to facilitate resource cleanup. It also supports time-based expiration, allowing for the automatic removal of items after a specified time-to-live duration. The library covers general caching capabilities including cache inspecti

    Go
    Vezi pe GitHub↗5,091
  • coocood/freecacheAvatar coocood

    coocood/freecache

    5,399Vezi pe GitHub↗

    freecache is a high-performance, concurrent in-memory key-value store library for Go applications. It functions as a fixed-size cache that manages large volumes of data while eliminating garbage collection overhead through the use of preallocated memory and off-heap storage. The system maintains a predictable memory footprint by utilizing fixed memory allocation and circular buffer management, where new entries automatically overwrite the oldest data upon reaching capacity. It further reduces contention between simultaneous readers and writers through lock-striped concurrent access. The libr

    Go
    Vezi pe GitHub↗5,399
  • memcached/memcachedAvatar memcached

    memcached/memcached

    14,132Vezi pe GitHub↗

    Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as a volatile data store designed to accelerate dynamic applications by caching objects in RAM, thereby reducing backend database load and providing sub-millisecond response times. The system utilizes a specialized architecture that organizes memory into fixed-size slabs to minimize fragmentation and maximize throughput for high-concurrency workloads. The project distinguishes itself through a multi-threaded, lock-friendly design that scales across CPU cores and supports complex

    C
    Vezi pe GitHub↗14,132
Vezi toate cele 30 alternative pentru Node Lru Cache→