awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesOpen-source alternativesSelf-hosted softwareBlogPlan du site
ProjetÀ proposHow we rankPresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

24 dépôts

Awesome GitHub RepositoriesMulti-level Caching

Coordination strategies between local server caches and distributed stores to optimize data updates.

Distinct from Distributed Data Caching Layers: Focuses on the hierarchy and synchronization between different caching tiers, not just distributed layers.

Explore 24 awesome GitHub repositories matching data & databases · Multi-level Caching. Refine with filters or upvote what's useful.

Awesome Multi-level Caching GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Voir sur GitHub↗

    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

    Coordinates local server caches and distributed stores via message queues to minimize backend load during updates.

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Voir sur GitHub↗78,987
  • facebook/rocksdbAvatar de facebook

    facebook/rocksdb

    31,767Voir sur GitHub↗

    RocksDB is a high-performance, embeddable persistent key-value library and storage engine based on Log-Structured Merge-trees. It is designed to provide durable storage for large-scale datasets, integrating directly into applications to manage data on flash and RAM-based hardware. The engine is distinguished by its focus on minimizing read and write amplification through multi-threaded compaction and custom memory allocators. It features specialized optimizations for flash storage, including support for zoned block devices, and provides the ability to extend store behavior via external plugin

    Merges smaller sorted files into larger ones across multiple levels to reclaim space and minimize write amplification.

    C++databasestorage-engine
    Voir sur GitHub↗31,767
  • infrasys-ai/aisystemAvatar de Infrasys-AI

    Infrasys-AI/AISystem

    17,017Voir sur GitHub↗

    AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo

    Manages a hierarchy of registers and caches to minimize data movement latency and maximize memory bandwidth.

    Jupyter Notebookaiaiinfraaisys
    Voir sur GitHub↗17,017
  • openimsdk/open-im-serverAvatar de openimsdk

    openimsdk/open-im-server

    16,469Voir sur GitHub↗

    Open-IM-Server is an instant messaging server and cross-platform messaging backend designed for real-time text and media communication. It provides a distributed chat architecture that coordinates user sessions and group communications across multiple server nodes to support millions of concurrent users. The system features a scalable message distribution model that utilizes asynchronous message pipelines and distributed queueing to maintain reliability during traffic spikes. It employs multi-level data caching across local memory and distributed stores to reduce latency and uses a document-b

    Reduces latency via multi-level data caching across local memory and distributed stores.

    Gochatimmessaging
    Voir sur GitHub↗16,469
  • doctrine/ormAvatar de doctrine

    doctrine/orm

    10,172Voir sur GitHub↗

    Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc

    Implements a second-level cache to store frequently accessed entities and collections across sessions.

    PHPhacktoberfest
    Voir sur GitHub↗10,172
  • openxiangshan/xiangshanAvatar de OpenXiangShan

    OpenXiangShan/XiangShan

    7,081Voir sur GitHub↗

    XiangShan is a high-performance RISC-V processor core and a hardware description language framework. It provides a construction-based system for designing, simulating, and verifying complex processor micro-architectures and peripheral devices. The project includes a high-performance CPU simulator used for architectural exploration and functional verification of processor execution. The project implements a superscalar out-of-order CPU architecture that uses renaming and reorder buffers to execute instructions in parallel. It generates synthesizable Verilog files from hardware descriptions to

    Implements a non-blocking cache hierarchy that tracks pending requests to prevent pipeline stalls during memory misses.

    Scalachiselmicroarchitecturerisc-v
    Voir sur GitHub↗7,081
  • hibernate/hibernate-ormAvatar de hibernate

    hibernate/hibernate-orm

    6,447Voir sur GitHub↗

    Hibernate ORM est un mapper objet-relationnel (ORM) Java et une implémentation complète de l'API Jakarta Persistence. Il sert de couche d'abstraction de base de données SQL qui traduit les modèles d'objets Java en schémas de base de données relationnelle pour gérer la persistance et le cycle de vie des données. Le framework se distingue par un framework d'isolation de données multi-tenant pour séparer les données des clients au sein d'une même instance de base de données. Il dispose également d'un générateur de schéma de base de données qui produit et met à jour automatiquement les structures relationnelles basées sur les mappings d'entités. Le système couvre des domaines étendus comme la gestion des transactions, le contrôle de verrouillage de concurrence et le suivi des données temporelles pour l'audit. Il fournit des outils d'optimisation de récupération de données via des stratégies d'entity-graph et prend en charge des types de données avancés comme les données vectorielles et les caractères nationalisés. Le projet inclut une suite complète d'utilitaires de test pour la couche de persistance, incluant le filtrage par dialecte de base de données et les tests de conformité aux spécifications.

    Maintains a session-scoped map of entity identifiers to object instances to ensure referential integrity.

    Java
    Voir sur GitHub↗6,447
  • upspin/upspinAvatar de upspin

    upspin/upspin

    6,398Voir sur GitHub↗

    Upspin is a decentralized naming and storage system that provides an end-to-end encrypted file system. It assigns every user a unique identity and organizes files within a global, permissioned namespace where data is encrypted on the client before transmission. The system separates identity resolution from data storage using a public-key identity provider and a key-server architecture. This allows for decentralized identity management and the resolution of usernames to specific directory and storage server addresses. The project includes a hierarchical access control system that manages read

    Implements block-level caching of storage data to accelerate repeated retrieval of encrypted blocks.

    Gocryptographyfusegolang
    Voir sur GitHub↗6,398
  • cockroachdb/pebbleAvatar de cockroachdb

    cockroachdb/pebble

    5,777Voir sur GitHub↗

    Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write synchronization, and automatic background compaction that merges and rewrites sorted runs to reclaim space and maintain read performanc

    Automatically merges and rewrites sorted runs across multiple levels in the background to reclaim space.

    Go
    Voir sur GitHub↗5,777
  • chillicream/hotchocolateAvatar de ChilliCream

    ChilliCream/hotchocolate

    5,713Voir sur GitHub↗

    HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL APIs interactively. The project distinguishes itself through its comprehensive tooling ecosystem, which includes a GraphQL c

    Caches fetched entities in memory so subsequent requests for the same key return instantly.

    C#
    Voir sur GitHub↗5,713
  • springside/springside4Avatar de springside

    springside/springside4

    5,652Voir sur GitHub↗

    SpringSide 4 is an enterprise Java reference architecture and utility library built on the Spring Framework. It provides a pragmatic, best-practice application stack for building RESTful web services, web applications, and data access layers, along with a curated collection of high-performance utility classes for common operations like text, date, collection, reflection, concurrency, and I/O handling. The project distinguishes itself by combining a complete reference application scaffold with production-oriented infrastructure. It includes a JPA-based data access layer that automatically tran

    Implements second-level caching of entities by primary key for faster retrieval.

    Java
    Voir sur GitHub↗5,652
  • alibaba/jetcacheAvatar de alibaba

    alibaba/jetcache

    5,590Voir sur GitHub↗

    JetCache est un framework de mise en cache Java qui fournit une interface unifiée pour gérer les données d'application. Il fonctionne comme un gestionnaire de cache à deux niveaux, coordonnant le stockage local en mémoire et les caches distribués distants pour réduire la latence réseau et améliorer les vitesses de récupération. Le projet se distingue par sa bibliothèque de mise en cache déclarative, qui utilise des annotations pour automatiser le stockage, l'expiration et l'invalidation des résultats de méthodes. Il inclut un synchroniseur de cache distribué pour maintenir la cohérence en invalidant les entrées locales à travers les instances de cluster, ainsi qu'un outil de verrouillage distribué pour coordonner l'accès aux ressources partagées. Le framework couvre un large éventail de capacités de performance et de stabilité, notamment la récupération asynchrone non bloquante, le rafraîchissement automatique du cache en arrière-plan et la compression de requêtes pour éviter la pénétration du cache. Il fournit également une gestion programmatique du cache, des stratégies de sérialisation enfichables et des fonctionnalités de sécurité telles que le filtrage de désérialisation par liste blanche.

    Coordinates a fast local in-memory layer with a persistent remote distributed store to optimize latency and scalability.

    Javacachejavajcache
    Voir sur GitHub↗5,590
  • opentsdb/opentsdbAvatar de OpenTSDB

    OpenTSDB/opentsdb

    5,068Voir sur GitHub↗

    OpenTSDB est une base de données de séries temporelles distribuée et un moteur de métriques conçu pour stocker et gérer des volumes massifs de métriques système à haute cardinalité. Il fonctionne comme un magasin de données et une plateforme d'analyse qui permet l'ingestion de métriques à grande échelle et la surveillance de la performance de l'infrastructure à travers un cluster distribué. Le système se distingue par une abstraction de stockage distribué qui supporte de multiples backends tels que HBase, Cassandra et Google Bigtable. Il utilise un arbre de métriques hiérarchique pour organiser les séries temporelles et emploie l'indexation par identifiant numérique pour réduire l'empreinte de stockage et accélérer les recherches pour les métriques taguées. Le projet couvre de larges domaines de capacités incluant l'analyse de données de séries temporelles avec des calculs de centiles distribués et le downsampling, ainsi qu'une gestion complète des métadonnées. Il fournit une intégration API pour l'ingestion et l'interrogation de données, le cache off-heap pour l'optimisation des performances, et des outils pour l'audit d'intégrité des données et l'analyse d'anomalies. Le système est géré via une interface en ligne de commande pour l'administration de la base de données et la synchronisation de l'arbre de métriques.

    Utilizes block-level caching and off-heap memory to minimize disk I/O during data write and retrieval processes.

    Java
    Voir sur GitHub↗5,068
  • reactive-streams/reactive-streams-jvmAvatar de reactive-streams

    reactive-streams/reactive-streams-jvm

    4,875Voir sur GitHub↗

    Ce projet fournit une spécification formelle et un ensemble d'interfaces Java standard pour le traitement de flux asynchrones. Il définit un protocole standardisé pour transmettre des séquences d'éléments entre des éditeurs (publishers) et des abonnés (subscribers) à travers différents threads, en se concentrant sur une spécification de flux réactifs pour la JVM. Le projet se concentre sur l'interopérabilité en fournissant une API commune qui permet à différentes bibliothèques de streaming asynchrone de fonctionner ensemble. Ceci est réalisé grâce à un ensemble standard d'interfaces et de mécanismes de pontage qui traduisent les spécifications de streaming incompatibles. La spécification couvre un protocole de contre-pression (backpressure) non bloquant pour réguler le flux de données et éviter la surcharge du système en exigeant des abonnés qu'ils signalent la demande. Elle définit également le cycle de vie des flux, incluant la gestion des abonnements, le traitement des éléments et la terminaison basée sur des signaux pour le nettoyage des ressources. Le projet inclut un framework pour vérifier le comportement des flux afin de valider la logique de traitement par rapport aux règles de contre-pression et d'événements asynchrones.

    Implements architectural patterns for building data processing stages that avoid thread locking and resource waste.

    Java
    Voir sur GitHub↗4,875
  • nlnetlabs/unboundAvatar de NLnetLabs

    NLnetLabs/unbound

    4,628Voir sur GitHub↗

    Unbound est un résolveur DNS qui fonctionne comme un serveur de mise en cache, récursif et de validation. Il traduit les noms de domaine en adresses IP en effectuant des recherches indépendantes sur Internet ou en transmettant les requêtes à des résolveurs externes. Le projet se distingue comme un serveur DNS programmable, offrant une interface de script Python et le chargement dynamique de bibliothèques partagées pour personnaliser le pipeline de résolution. Il sert également de passerelle DNS64 NAT64, synthétisant des adresses IPv6 à partir d'enregistrements IPv4 pour permettre la communication aux clients IPv6 uniquement. Le système inclut des frameworks de sécurité pour la validation cryptographique DNSSEC et le chiffrement du trafic DNS pour empêcher l'empoisonnement du cache et l'écoute clandestine. Ses capacités s'étendent au filtrage des réponses basé sur des politiques, à la mise en cache multi-niveaux avec des backends de base de données externes, et à la livraison de données de zone d'autorité locale. Le contrôle administratif est géré via une interface distante sécurisée pour envoyer des commandes chiffrées au serveur en cours d'exécution.

    Provides multi-level response caching using local memory and external database backends to reduce latency.

    C
    Voir sur GitHub↗4,628
  • bjmashibing/internetarchitectAvatar de bjmashibing

    bjmashibing/InternetArchitect

    4,277Voir sur GitHub↗

    InternetArchitect est une collection éducative de documents et de code source conçue comme un cours d'architecture à haute concurrence. Il sert de guide d'implémentation de systèmes distribués, fournissant des patterns techniques et des exemples pratiques pour concevoir des architectures internet scalables qui maintiennent la stabilité sous de lourdes charges de trafic. Le projet se concentre sur l'optimisation des bases de données haute performance et les patterns de conception de microservices. Il couvre des stratégies pour réduire la latence et augmenter le débit via le sharding de base de données et les couches de proxy, ainsi que la coordination de l'état global à travers des clusters distribués. La portée architecturale inclut des stratégies de mise en cache multi-niveaux pour accélérer la récupération des données et l'implémentation de frameworks de découverte de services pour gérer la communication entre les microservices découplés. Il aborde également la coordination d'état distribué et l'utilisation de maillages d'équilibrage de charge pour distribuer le trafic réseau à travers les serveurs backend.

    Coordinates local in-process memory and remote distributed caches to optimize data retrieval speed in high-traffic environments.

    Java
    Voir sur GitHub↗4,277
  • oceanbase/miniobAvatar de oceanbase

    oceanbase/miniob

    4,318Voir sur GitHub↗

    MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c

    Implements level-based compaction to merge overlapping sorted runs and bound read amplification.

    C++classroomcplusplusdatabase
    Voir sur GitHub↗4,318
  • rainloop/rainloop-webmailAvatar de RainLoop

    RainLoop/rainloop-webmail

    4,119Voir sur GitHub↗

    Rainloop Webmail est une application de messagerie auto-hébergée basée sur navigateur qui se connecte aux serveurs de messagerie externes en utilisant les protocoles IMAP et SMTP. Elle fonctionne comme un client sans état, récupérant les données directement depuis les serveurs sans nécessiter de base de données locale pour stocker les messages. Le système prend en charge la gestion de messagerie multi-comptes, permettant aux utilisateurs de lier plusieurs identités d'e-mail à une seule session pour un accès simultané à travers différents onglets de navigateur. Il inclut un système d'extension basé sur des plugins et des outils pour la personnalisation de l'interface utilisateur et le branding. L'application offre des capacités pour l'automatisation des flux de travail d'e-mail, incluant le filtrage du courrier entrant et les réponses automatiques d'absence. Elle s'intègre également avec des fournisseurs de stockage cloud externes pour faciliter les pièces jointes dans les messages et utilise une mise en cache des réponses à plusieurs niveaux pour optimiser la récupération des données.

    Utilizes a multi-level caching strategy to store frequently accessed server data and reduce network latency.

    PHPimapjavascriptjs
    Voir sur GitHub↗4,119
  • chyyuu/os_kernel_labAvatar de chyyuu

    chyyuu/os_kernel_lab

    4,045Voir sur GitHub↗

    Ce projet est un framework éducatif et une boîte à outils conçus pour développer et tester des noyaux de système d'exploitation. Il fournit un environnement structuré pour implémenter des primitives système fondamentales, notamment la gestion de la mémoire virtuelle, l'ordonnancement préemptif des processus et l'organisation du système de fichiers, en utilisant Rust et C. Le framework est spécifiquement orienté vers les architectures RISC-V et x86, servant de laboratoire pour apprendre à construire des logiciels système de base à partir de zéro. Le projet se distingue en prenant en charge à la fois le déploiement bare-metal et l'émulation matérielle, permettant aux développeurs de valider la logique du noyau sur du matériel physique ou dans des environnements simulés. Il inclut une chaîne d'outils de construction complète qui gère la compilation inter-architectures et l'initialisation du firmware, garantissant que le noyau peut être correctement amorcé et exécuté sur différentes plateformes cibles. Le système couvre un large éventail de capacités de bas niveau, notamment des couches d'abstraction matérielle qui découplent la logique système des conceptions de processeurs spécifiques et des interfaces d'appels système qui gèrent la frontière entre les applications en espace utilisateur et les services du noyau. Il intègre également des fonctionnalités d'observabilité, telles que la journalisation au runtime et la surveillance de l'exécution, pour aider à l'analyse du comportement du système pendant le développement.

    Optimizes persistent storage access by maintaining an in-memory buffer of frequently used data blocks to reduce latency.

    Rustkernellabos
    Voir sur GitHub↗4,045
  • skyzh/mini-lsmAvatar de skyzh

    skyzh/mini-lsm

    4,034Voir sur GitHub↗

    Mini-LSM est un moteur de stockage éducatif et une bibliothèque de base de données clé-valeur conçus pour démontrer l'implémentation de l'architecture log-structured merge-tree (LSM). Il sert de ressource pédagogique pour comprendre comment construire des systèmes de stockage haute performance à partir de zéro, en se concentrant sur la mécanique des structures de données persistantes et du stockage sur disque. Le projet fournit un framework fonctionnel pour gérer les données via le vidage (flushing) de la mémoire vers le disque et le contrôle de concurrence multi-version. Il se distingue par l'implémentation d'une isolation basée sur des instantanés (snapshots), qui permet des vues cohérentes de l'état de la base de données lors d'opérations concurrentes, et utilise des stratégies de compactage par niveaux pour organiser les fichiers de données et optimiser les performances de lecture. Le moteur couvre un large éventail de capacités de gestion du stockage, notamment la journalisation en écriture anticipée (write-ahead logging) pour la récupération après crash et l'indexation probabiliste pour minimiser les entrées/sorties disque. Il inclut également une suite d'utilitaires de vérification et d'outils de test destinés à valider l'intégrité des opérations de stockage et à aider au diagnostic des problèmes liés à la concurrence.

    Organizes data files into distinct levels and merges them to reclaim space and maintain read performance bounds.

    Rustdatabasekey-value-storekv-store
    Voir sur GitHub↗4,034
Préc.12Suivant
  1. Home
  2. Data & Databases
  3. Multi-level Caching

Explorer les sous-tags

  • Block Caches1 sous-tagCaches of fixed-size data blocks used to accelerate retrieval from remote storage. **Distinct from Multi-level Caching:** Focuses specifically on the block-level caching of SSTables rather than general multi-level coordination strategies.
  • DNS Response CachingHierarchical caching of DNS responses across memory and external database tiers. **Distinct from Multi-level Caching:** Specializes multi-level caching specifically for DNS resolution records rather than general data or images.
  • Entity Second-Level Caching2 sous-tagsCaches dehydrated entity data in a shared store to avoid redundant lookups across sessions. **Distinct from Multi-level Caching:** Specific to the second-level cache pattern for entities in an ORM, not general multi-tier server caching.
  • Thread-Local CachesReduces lock contention and improves performance by organizing memory into thread-local caches, a shared central cache, and a global page heap. **Distinct from Multi-level Caching:** Distinct from Multi-level Caching: focuses on memory allocator caching rather than general data caching.
  • Tiered Compaction Strategies1 sous-tagHierarchical merging processes that organize sorted files across multiple levels to optimize space and write amplification. **Distinct from Multi-level Caching:** Focuses on the merging and reorganization of LSM-tree files rather than cache synchronization levels.