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
·
grantjenks avatar

grantjenks/python-diskcache

0
View on GitHub↗
2,828 Stars·155 Forks·Python·other·3 Aufrufewww.grantjenks.com/docs/diskcache↗

Python Diskcache

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 policies.

The capability surface includes persistent sorted lists, dictionaries, and double-ended queues, as well as atomic counter operations and transaction-based writes. It also provides tools for distributed function throttling and the calculation of online statistics via persistent storage.

The project includes integration for the Django caching interface to manage temporary data and high-performance file transfers.

Features

  • Key-Value Persistence Stores - Provides a disk-backed key-value store for persisting mappings, sets, and queues to bypass memory limitations.
  • Persistent Key-Value Caches - Provides a persistent key-value store that uses the local filesystem to cache data across threads and processes.
  • Disk-Backed Data Structures - Maintains sorted lists, sets, and double-ended queues on the filesystem for permanent storage and fast retrieval.
  • Disk-Persistent Data Structures - Implements queues and sorted sets that persist to the local filesystem to bypass memory limitations.
  • Expensive Result Caches - Caches expensive function results and temporary data on disk to survive restarts and avoid redundant computations.
  • SQLite Storage Adapters - Uses an embedded SQLite database to manage key-value mappings and metadata on the local filesystem.
  • Distributed Locks - Coordinates shared resource access across threads and processes using distributed locks, reentrant locks, and semaphores.
  • Process Synchronization Locks - Coordinates shared resource access across different OS processes using disk-based spin-locks and semaphores.
  • Disk-Serialized Collection Libraries - Provides a collection of disk-serialized sorted lists, dictionaries, and deques that survive program restarts.
  • Cross-Process Cache Coordination - Ensures thread-safe and process-safe access to cached data, allowing multiple execution units to read and write without corruption.
  • Persistent Double-Ended Queues - Ships disk-serialized double-ended queues that support fast access and modifications at both endpoints.
  • Pluggable Binary Serializers - Provides customizable binary conversion handlers and compression to optimize disk space and retrieval speed.
  • Cache Eviction Policies - Implements LRU and LFU strategies for removing items when disk storage limits are reached.
  • Tag-Based Eviction - Associates metadata tags with entries to enable grouped retrieval and targeted eviction of related items.
  • Stampede Mitigation - Prevents redundant backend load by ensuring only one worker regenerates an expired item during concurrency bursts.
  • Persistent Mappings - Provides mutable mappings and ordered dictionaries stored on disk that persist independently of process lifecycles.
  • Least Recently Used Caches - Automatically removes the least recently used items when disk storage limits are reached.
  • Data Sharding - Increases throughput by dividing the cache into independent storage buckets to reduce write contention.
  • Custom Serialization Interfaces - Allows the definition of custom binary conversion formats for keys and values via custom disk handlers.
  • Sharded Caches - Implements sharded data partitioning to divide the cache into multiple storage buckets, reducing write contention.
  • Sorted - Provides key-value storage that maintains sorted keys for efficient range-based lookups and ordered iteration.
  • Cache Expiration Management - Controls data lifecycles through time-to-live (TTL) values and expiration timestamp updates.
  • Sorted Sets - Provides collections of unique elements that remain sorted on disk for range queries and ranking.
  • Atomic Counters - Provides atomic increment and decrement operations on stored integer values to prevent race conditions.
  • Disk-Backed Sorted Lists - Implements lists that maintain element order on the filesystem regardless of insertion sequence.
  • FIFO Queues - Implements first-in-first-out queues persisted to the local filesystem to ensure task lists survive process restarts.
  • Atomic File Writes - Ensures data consistency by grouping filesystem updates into atomic units to prevent corruption during crashes.
  • Atomic Transaction Grouping - Groups multiple operations into single atomic units to ensure data consistency and improve write performance.
  • Memoization Caches - Caches expensive function results to disk to optimize performance and prevent redundant computation.
  • Caching - SQLite and file-backed cache backend.

Star-Verlauf

Star-Verlauf für grantjenks/python-diskcacheStar-Verlauf für grantjenks/python-diskcache

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 Python Diskcache

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Python Diskcache.
  • tporadowski/redisAvatar von tporadowski

    tporadowski/redis

    9,987Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗9,987
  • memcached/memcachedAvatar von memcached

    memcached/memcached

    14,132Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗14,132
  • jankotek/mapdbAvatar von jankotek

    jankotek/MapDB

    5,046Auf GitHub ansehen↗

    MapDB is an embedded database engine and disk-backed collection library that stores Java collections on disk or off-heap. It functions as a local data processing engine designed to handle datasets that exceed available physical RAM. The project utilizes off-heap data storage to eliminate garbage collection overhead and employs disk overflow caching to balance memory and disk usage. It provides specialized utilities for filtering and analyzing large volumes of local data on a single machine. The system ensures data integrity through ACID-compliant transactions and multi-version concurrency co

    Java
    Auf GitHub ansehen↗5,046
  • doocs/advanced-javaAvatar von doocs

    doocs/advanced-java

    78,987Auf GitHub ansehen↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Auf GitHub ansehen↗78,987
Alle 30 Alternativen zu Python Diskcache anzeigen→

Häufig gestellte Fragen

Was macht grantjenks/python-diskcache?

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.

Was sind die Hauptfunktionen von grantjenks/python-diskcache?

Die Hauptfunktionen von grantjenks/python-diskcache sind: Key-Value Persistence Stores, Persistent Key-Value Caches, Disk-Backed Data Structures, Disk-Persistent Data Structures, Expensive Result Caches, SQLite Storage Adapters, Distributed Locks, Process Synchronization Locks.

Welche Open-Source-Alternativen gibt es zu grantjenks/python-diskcache?

Open-Source-Alternativen zu grantjenks/python-diskcache sind unter anderem: tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… memcached/memcached — Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as… jankotek/mapdb — MapDB is an embedded database engine and disk-backed collection library that stores Java collections on disk or… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… mrniko/redisson — Redisson is a Java client library for Redis and Valkey that provides a distributed data structure library, a… 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…