awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pmylund avatar

pmylund/go-cache

0
View on GitHub↗
8,828 stars·904 forks·Go·MIT·3 vuespatrickmn.com/projects/go-cache↗

Go Cache

go-cache est un magasin clé-valeur en mémoire, thread-safe, pour les applications sur machine unique. Il fournit un mécanisme de cache local qui stocke les objets en RAM pour réduire la récupération redondante de données et éviter la surcharge des protocoles réseau ou de la sérialisation.

Le système dispose d'un magasin de cache persistant qui sauvegarde l'état en mémoire dans un fichier local, permettant la récupération des données après un redémarrage de l'application.

Le projet gère l'accès concurrent aux données sur plusieurs routines et implémente une expiration (TTL) pour les entrées en cache. Un processus en arrière-plan scanne périodiquement le magasin pour supprimer les éléments expirés et libérer de la mémoire.

Features

  • In-Memory State Maps - Provides a thread-safe in-memory key-value map for fast object storage and retrieval.
  • Go In-Memory Caches - A high-performance, thread-safe in-memory key-value cache implemented specifically for Go.
  • In-Memory Caches - Caches frequently accessed data in RAM to reduce latency and avoid expensive data retrieval.
  • Key-Value Stores - Implements a lightweight local key-value store for single-machine applications.
  • Time-Based Expirations - Implements time-to-live expiration to automatically invalidate cached entries after a set duration.
  • Mutexes and Locks - Employs mutual exclusion locks to ensure thread-safe access to the underlying key-value map.
  • Concurrent Data Structures - Provides a thread-safe map implementation that manages shared data across multiple Go routines.
  • Cache State Persistences - Saves the complete in-memory cache state to disk to allow restoration after application restarts.
  • Persistent Application State - Preserves application cache data across sessions by saving the state to a local file.
  • Cache State Serializations - Serializes the in-memory cache state to a local file using gob encoding for recovery.
  • Bases de données - In-memory key-value store for single-machine applications.
  • Embedded Databases - In-memory key-value store and cache for Go.

Historique des stars

Graphique de l'historique des stars pour pmylund/go-cacheGraphique de l'historique des stars pour pmylund/go-cache

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Go Cache

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Go Cache.
  • patrickmn/go-cacheAvatar de patrickmn

    patrickmn/go-cache

    8,828Voir sur GitHub↗

    go-cache is a thread-safe, in-memory cache library for Go that stores arbitrary objects with per-item expiration timestamps. It provides a concurrent key-value store where multiple goroutines can safely read and write shared cached data without external synchronization, using a mutex-guarded map for access control. The library distinguishes itself through its expiration management and optional disk persistence. Each cached item carries its own time-to-live, and a background goroutine periodically purges expired entries. The cache can serialize its entire contents to disk using Go's gob encodi

    Gocachegolibrary
    Voir sur GitHub↗8,828
  • boltdb/boltAvatar de boltdb

    boltdb/bolt

    14,642Voir sur GitHub↗

    Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a

    Go
    Voir sur GitHub↗14,642
  • dgraph-io/ristrettoAvatar de dgraph-io

    dgraph-io/ristretto

    6,932Voir sur GitHub↗

    Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a thread-safe memory store that manages strict memory bounds and employs probabilistic set filters to reduce lookup overhead. The system is distinguished by an admission-policy cache that utilizes frequency sketches and cost-based eviction to maximize hit ratios. It minimizes contention and improves throughput through the use of striped ring buffers and concurrent map sharding. The project covers a broad range of data management capabilities, including time-based expiration, item f

    Go
    Voir sur GitHub↗6,932
  • hashicorp/golang-lruAvatar de hashicorp

    hashicorp/golang-lru

    5,091Voir sur 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
    Voir sur GitHub↗5,091
Voir les 30 alternatives à Go Cache→

Questions fréquentes

Que fait pmylund/go-cache ?

go-cache est un magasin clé-valeur en mémoire, thread-safe, pour les applications sur machine unique. Il fournit un mécanisme de cache local qui stocke les objets en RAM pour réduire la récupération redondante de données et éviter la surcharge des protocoles réseau ou de la sérialisation.

Quelles sont les fonctionnalités principales de pmylund/go-cache ?

Les fonctionnalités principales de pmylund/go-cache sont : In-Memory State Maps, Go In-Memory Caches, In-Memory Caches, Key-Value Stores, Time-Based Expirations, Mutexes and Locks, Concurrent Data Structures, Cache State Persistences.

Quelles sont les alternatives open-source à pmylund/go-cache ?

Les alternatives open-source à pmylund/go-cache incluent : patrickmn/go-cache — go-cache is a thread-safe, in-memory cache library for Go that stores arbitrary objects with per-item expiration… boltdb/bolt — Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that… dgraph-io/ristretto — Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a… hashicorp/golang-lru — This is a thread-safe in-memory cache library for Go that automatically evicts the least recently used items when… allegro/bigcache — Bigcache is a thread-safe, in-memory key-value store for Go designed to minimize garbage collection pauses. It… ptarjan/node-cache — Node-cache is a lightweight in-memory data storage module designed for Node.js applications. It functions as a…