awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
JakeWharton avatar

JakeWharton/DiskLruCacheArchived

0
View on GitHub↗
5,783 Stars·1,163 Forks·Java·Apache-2.0·2 Aufrufejakewharton.github.io/DiskLruCache↗

DiskLruCache

DiskLruCache is a disk-backed key-value cache library for Android and Java environments that stores data on the filesystem within a configurable byte limit. It uses a least-recently-used (LRU) eviction policy to automatically remove old entries when the cache exceeds its allocated size, and maintains a journal file to reconstruct its in-memory state after a process restart.

The cache provides atomic write operations that first write new data to a temporary file before atomically renaming it, preventing partial or corrupted reads during concurrent access. It returns frozen snapshots of cache entries at read time, ensuring consistency even if the entry is later modified. Each entry requires a monotonically increasing version number, enabling detection of stale or concurrent modifications.

Cached byte sequences can be accessed as input streams or file references, decoupling consumption from the underlying storage format. The library enforces per-entry byte size tracking to trigger eviction during writes, using a doubly linked list to track access order.

Features

  • Bounded Disk Cache Allocations - Enforces a configurable disk byte limit with per-entry size tracking and automatic eviction.
  • Strongly Consistent Cache Reads - Returns frozen snapshots of cache entries at read time, ensuring consistency despite concurrent modifications.
  • Disk-Backed Implementations - Implements a disk-backed LRU cache with bounded size and automatic eviction.
  • Bounded Disk Cache Allocations - Enforces a configurable disk byte limit with per-entry size tracking and automatic eviction.
  • General Purpose Disk Caches - Provides a general-purpose disk-backed LRU cache for Android applications.
  • Bounded Disk Key-Value Stores - Stores key-value pairs on disk within a bounded byte limit with automatic eviction.
  • Key-Value Persistence Stores - Persists key-value data to the filesystem within a configurable size limit, evicting old entries when full.
  • Cache Snapshot Isolations - Returns frozen snapshots of cache entries at read time, ensuring consistency despite concurrent modifications.
  • Entry Versioning Guards - Requires monotonically increasing version numbers per entry to detect stale or concurrent modifications.
  • Disk-Backed Caches - Provides a Java implementation of a disk-backed cache with atomic read and write operations.
  • Cache Snapshot Isolations - Returns frozen snapshots of cache entries at read time for consistency.
  • Atomic File Writes - Writes cache entries atomically by writing to a temporary file then renaming, preventing corruption.
  • LRU Cache Eviction - Implements LRU eviction on disk using a linked list to track access order.
  • Disk-Backed LRU Evictions - Stores bounded byte-sequence values on disk with automatic LRU eviction.
  • Linked-List LRU Evictions - Uses a doubly linked list to track access order and evicts the least-recently-used entry.
  • Cache Journal Logs - Maintains a journal file to reconstruct cache state after process restarts.
  • Cache Recovery Journals - Maintains a journal file to reconstruct cache state after process restarts.
  • Concurrency Versioning - Requires monotonically increasing version numbers per entry to detect stale modifications.
  • Stream-Based File Access Abstractions - Returns cached byte sequences as input streams or file references for flexible consumption.
  • Stream Abstractions - Exposes cached byte sequences as input streams or file references for flexible consumption.

Star-Verlauf

Star-Verlauf für jakewharton/disklrucacheStar-Verlauf für jakewharton/disklrucache

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu DiskLruCache

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit DiskLruCache.
  • isaacs/node-lru-cacheAvatar von isaacs

    isaacs/node-lru-cache

    5,895Auf GitHub ansehen↗

    node-lru-cache is a key-value store for Node.js that implements a memory-limited cache. It prevents memory exhaustion by capping the total number of items or total byte size, automatically evicting the least-recently-used items to maintain these limits. The project provides specialized caching patterns, including time-to-live durations to ensure data freshness and a stale-while-revalidate mechanism that serves expired content while asynchronously fetching updates in the background. It also includes diagnostic tools for monitoring cache hits, misses, and eviction metrics through operational st

    JavaScript
    Auf GitHub ansehen↗5,895
  • grantjenks/python-diskcacheAvatar von grantjenks

    grantjenks/python-diskcache

    2,828Auf GitHub ansehen↗

    This project is a disk-backed key-value store and persistent data structure library for Python. It provides a mechanism for persisting mappings, sets, and queues to the local filesystem to bypass memory limitations and cache expensive function results across threads and processes. The system serves as a cross-process synchronization tool, offering distributed locks, semaphores, and barriers to coordinate shared resource access. It implements advanced caching strategies such as probabilistic stampede prevention, sharded data partitioning to increase throughput, and least-recently-used eviction

    Pythoncachefilesystemkey-value-store
    Auf GitHub ansehen↗2,828
  • danikula/androidvideocacheAvatar von danikula

    danikula/AndroidVideoCache

    5,490Auf GitHub ansehen↗

    AndroidVideoCache is a local proxy server and disk-based media cache for Android. It intercepts network requests to store streamed video data on the local file system, allowing for offline playback and reduced data usage. The project differentiates itself by functioning as an HTTP proxy cache that can inject custom request headers. This enables the delivery of authenticated video content by satisfying server-side security and authentication requirements during the caching process. The system manages storage through byte-level disk caching, URL-to-file mapping, and the enforcement of storage

    Javaandroidcachevideo
    Auf GitHub ansehen↗5,490
  • mahmoud/boltonsAvatar von mahmoud

    mahmoud/boltons

    6,897Auf GitHub ansehen↗

    Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of reusable recipes and specialized data structures, system utilities, and helper libraries designed to support common programming tasks across various domains. The project is distinguished by a standard-library-only dependency model, ensuring maximum portability with zero external dependencies. It provides advanced implementations for data structures, such as immutable mappings and priority queues, alongside recursive data transformation tools for reshaping complex nested diction

    Python
    Auf GitHub ansehen↗6,897
Alle 30 Alternativen zu DiskLruCache anzeigen→

Häufig gestellte Fragen

Was macht jakewharton/disklrucache?

DiskLruCache is a disk-backed key-value cache library for Android and Java environments that stores data on the filesystem within a configurable byte limit. It uses a least-recently-used (LRU) eviction policy to automatically remove old entries when the cache exceeds its allocated size, and maintains a journal file to reconstruct its in-memory state after a process restart.

Was sind die Hauptfunktionen von jakewharton/disklrucache?

Die Hauptfunktionen von jakewharton/disklrucache sind: Bounded Disk Cache Allocations, Strongly Consistent Cache Reads, Disk-Backed Implementations, General Purpose Disk Caches, Bounded Disk Key-Value Stores, Key-Value Persistence Stores, Cache Snapshot Isolations, Entry Versioning Guards.

Welche Open-Source-Alternativen gibt es zu jakewharton/disklrucache?

Open-Source-Alternativen zu jakewharton/disklrucache sind unter anderem: isaacs/node-lru-cache — node-lru-cache is a key-value store for Node.js that implements a memory-limited cache. It prevents memory exhaustion… grantjenks/python-diskcache — This project is a disk-backed key-value store and persistent data structure library for Python. It provides a… danikula/androidvideocache — AndroidVideoCache is a local proxy server and disk-based media cache for Android. It intercepts network requests to… mahmoud/boltons — Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of… hashicorp/golang-lru — This is a thread-safe in-memory cache library for Go that automatically evicts the least recently used items when… rosedblabs/rosedb — RoseDB is a persistent key-value database and log-structured storage engine. It functions as a lightweight storage…