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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Go Caching Libraries

Ranking updated Jul 13, 2026

For a caching library for Go applications, the strongest matches are allegro/bigcache (This is a high-performance, in-memory caching library for Go), dgraph-io/ristretto (Ristretto is a high-performance, thread-safe in-memory caching library for) and patrickmn/go-cache (This is a thread-safe, in-memory caching library for Go). coocood/freecache and olric-data/olric round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best go caching libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Go Caching Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • allegro/bigcacheallegro avatar

    allegro/bigcache

    8,140View on GitHub↗

    Bigcache is a thread-safe, in-memory key-value store for Go designed to minimize garbage collection pauses. It functions as a memory-optimized cache capable of storing gigabytes of data while maintaining low latency during high-volume operations. The system avoids garbage collection overhead by managing memory through large byte arrays and manual allocation. It utilizes a circular-buffer layout to reuse space and lock-striped sharding to reduce contention during concurrent read and write access. The project provides capabilities for high-volume in-memory caching and low-latency data retrieva

    This is a high-performance, in-memory caching library for Go that provides thread-safe storage and efficient eviction, though it lacks native support for generics and distributed clustering.

    GoDistributed CachesIn-Memory CachesIn-Memory Data Stores
    View on GitHub↗8,140
  • dgraph-io/ristrettodgraph-io avatar

    dgraph-io/ristretto

    6,932View on 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

    Ristretto is a high-performance, thread-safe in-memory caching library for Go that features advanced eviction policies and TTL support, making it a strong fit for application-level data storage despite lacking built-in distributed capabilities.

    GoCache Eviction PoliciesIn-Memory CachesTime-To-Live Expirations
    View on GitHub↗6,932
  • patrickmn/go-cachepatrickmn avatar

    patrickmn/go-cache

    8,828View on 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

    This is a thread-safe, in-memory caching library for Go that provides essential features like TTL support and concurrent access, though it lacks native support for generics and distributed caching capabilities.

    GoIn-Memory CachesTime-To-Live Expirations
    View on GitHub↗8,828
  • coocood/freecachecoocood avatar

    coocood/freecache

    5,399View on 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

    This library provides high-performance, concurrent in-memory storage with TTL support and eviction policies, making it a strong fit for application-level caching in Go despite lacking built-in distributed capabilities.

    GoCache Eviction PoliciesTime-To-Live Expirations
    View on GitHub↗5,399
  • olric-data/olricolric-data avatar

    olric-data/olric

    3,469View on GitHub↗

    Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated

    Olric is a distributed, in-memory key-value store and data grid that functions as a high-performance caching layer, providing the necessary concurrency safety, eviction policies, and TTL support for application-level data storage.

    GoCache Eviction PoliciesIn-Memory CachesTime-To-Live Expirations
    View on GitHub↗3,469
  • golang/groupcachegolang avatar

    golang/groupcache

    13,326View on GitHub↗

    Groupcache is a distributed caching library designed to coordinate data retrieval and storage across a cluster of nodes. It functions as a peer-to-peer data store that uses consistent hashing to assign specific keys to canonical owners, ensuring that cached items remain predictable and accessible throughout the network. The system distinguishes itself through a request coalescing engine that merges concurrent requests for the same missing key into a single upstream fetch. This mechanism prevents redundant backend load by ensuring that only one process retrieves the required data while sharing

    Groupcache is a high-performance, in-memory caching library for Go that excels at distributed data coordination and request coalescing, though it lacks some common features like configurable TTLs or diverse eviction policies found in simpler local-only caches.

    GoDistributed Caching
    View on GitHub↗13,326
  • hashicorp/golang-lruhashicorp avatar

    hashicorp/golang-lru

    5,091View on 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

    This is a thread-safe, in-memory caching library for Go that provides essential features like fixed-size capacity, LRU eviction, and time-based expiration for application-level data storage.

    GoTime-To-Live Expirations
    View on GitHub↗5,091
  • eko/gocacheeko avatar

    eko/gocache

    2,866View on GitHub↗

    ☔️ A complete Go cache library that brings you multiple ways of managing your caches

    This library provides a comprehensive interface for managing in-memory caches in Go, supporting multiple storage backends, TTL, and concurrency-safe operations.

    GoCaching LibrariesData Structures
    View on GitHub↗2,866
  • bluele/gcachebluele avatar

    bluele/gcache

    2,731View on GitHub↗

    An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC

    This is a Go-based in-memory caching library that provides essential features like multiple eviction policies and concurrency safety, making it a direct fit for application-level data storage.

    GoCaching and Key-Value StoresCaching LibrariesDatabases
    View on GitHub↗2,731
  • muesli/cache2gomuesli avatar

    muesli/cache2go

    2,158View on GitHub↗

    Concurrency-safe Go caching library with expiration capabilities and access counters

    This is a concurrency-safe, in-memory caching library for Go that supports TTL expiration and access-based eviction, making it a solid choice for application-level data storage despite lacking built-in distributed capabilities.

    GoCaching LibrariesDatabases
    View on GitHub↗2,158
  • jellydator/ttlcachejellydator avatar

    jellydator/ttlcache

    1,256View on GitHub↗

    An in-memory cache with item expiration and generics

    This is an in-memory caching library for Go that provides generics support and TTL-based expiration, making it a direct fit for application-level data storage despite lacking built-in distributed capabilities.

    GoCaching Libraries
    View on GitHub↗1,256
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
allegro/bigcache8.1KGoApache-2.0Apr 24, 2026
dgraph-io/ristretto6.9KGoApache-2.0May 6, 2026
patrickmn/go-cache8.8KGoMITNov 20, 2023
coocood/freecache5.4KGoMITMar 19, 2026
olric-data/olric3.5KGoApache-2.0Jun 12, 2026
golang/groupcache13.3KGoapache-2.0Nov 29, 2024
hashicorp/golang-lru5.1KGoMPL-2.0May 25, 2026
eko/gocache2.9KGoMITMay 11, 2026
bluele/gcache2.7KGoMITMar 1, 2024
muesli/cache2go2.2KGoNOASSERTIONJul 2, 2024

Related searches

  • a caching library for Go applications
  • a caching library for C# applications
  • a caching library for Java applications
  • a javascript library for caching data
  • a python library for caching function results
  • a rate limiting library for Go applications
  • a GraphQL client library with caching
  • a message queue library for Go