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

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to patrickmn/go-cache

Open-source alternatives to Go Cache

30 open-source projects similar to patrickmn/go-cache, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Go Cache alternative.

  • dgraph-io/ristrettoAvatar de dgraph-io

    dgraph-io/ristretto

    6,932Ver en 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
    Ver en GitHub↗6,932
  • pmylund/go-cacheAvatar de pmylund

    pmylund/go-cache

    8,828Ver en GitHub↗

    go-cache is a thread-safe, in-memory key-value store for single-machine applications. It provides a local caching mechanism that stores objects in RAM to reduce redundant data retrieval and avoid the overhead of network protocols or serialization. The system features a persistent cache store that saves the in-memory state to a local file, allowing data recovery across application restarts. The project manages concurrent data access across multiple routines and implements time-to-live expiration for cached entries. A background process periodically scans the store to delete expired items and

    Go
    Ver en GitHub↗8,828
  • coocood/freecacheAvatar de coocood

    coocood/freecache

    5,399Ver en 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

    Go
    Ver en GitHub↗5,399

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Find more with AI search
  • hashicorp/golang-lruAvatar de hashicorp

    hashicorp/golang-lru

    5,091Ver en 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
    Ver en GitHub↗5,091
  • olric-data/olricAvatar de olric-data

    olric-data/olric

    3,469Ver en 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

    Gocachedatabasedistributed-cache
    Ver en GitHub↗3,469
  • allegro/bigcacheAvatar de allegro

    allegro/bigcache

    8,140Ver en 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

    Go
    Ver en GitHub↗8,140
  • ben-manes/caffeineAvatar de ben-manes

    ben-manes/caffeine

    17,706Ver en GitHub↗

    Caffeine is a high-performance caching library for the Java virtual machine designed to manage object lifecycles within the application heap. It functions as a thread-safe, memory-resident data store that reduces latency by keeping frequently accessed objects available for immediate retrieval. The library distinguishes itself through a sophisticated eviction strategy that balances recency and frequency to determine which entries to retain. It utilizes a frequency-based admission policy to evaluate the historical access patterns of new data, ensuring that the cache remains populated with the m

    Java
    Ver en GitHub↗17,706
  • ptarjan/node-cacheAvatar de ptarjan

    ptarjan/node-cache

    1,595Ver en GitHub↗

    Node-cache is a lightweight in-memory data storage module designed for Node.js applications. It functions as a key-value store that maintains frequently accessed data directly within the application runtime to improve response times and reduce latency. The library manages the lifecycle of stored information through automated expiration policies, which use internal timers to remove stale entries once a defined time-to-live duration has elapsed. It provides granular control over stored resources, allowing for the manual inspection, deletion, or clearing of specific keys to manage memory usage e

    JavaScript
    Ver en GitHub↗1,595
  • hazelcast/hazelcastAvatar de hazelcast

    hazelcast/hazelcast

    6,570Ver en GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    Ver en GitHub↗6,570
  • boltdb/boltAvatar de boltdb

    boltdb/bolt

    14,642Ver en 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
    Ver en GitHub↗14,642
  • tporadowski/redisAvatar de tporadowski

    tporadowski/redis

    9,987Ver en GitHub↗

    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
    Ver en GitHub↗9,987
  • marcuswestin/store.jsAvatar de marcuswestin

    marcuswestin/store.js

    13,983Ver en GitHub↗

    Store.js is a client-side state persistence library and web storage abstraction layer. It provides a consistent browser key-value storage wrapper that manages the persistence of application state across sessions using the most capable available local storage mechanism. The engine is extensible, allowing for the integration of custom storage backends and plugins to modify how data is read and written. It functions as a reactive web storage manager, monitoring specific keys to trigger notifications when stored values are updated. The library handles automatic data serialization for complex typ

    JavaScriptcross-browserjavascriptlocalstorage
    Ver en GitHub↗13,983
  • facebook/rocksdbAvatar de facebook

    facebook/rocksdb

    31,767Ver en 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

    C++databasestorage-engine
    Ver en GitHub↗31,767
  • dicedb/diceAvatar de DiceDB

    DiceDB/dice

    10,760Ver en GitHub↗

    Dice is a low-latency key-value store based on Valkey that functions as a hierarchical storage engine. It combines a high-speed memory store with a tiered cache system to manage data across multiple storage levels. The system extends memory capacity by implementing a disk-backed cache that automatically persists evicted items to disk and restores them during cache misses. This storage tiering balances retrieval speed and operational cost by distributing data between fast memory and slower disk storage. The engine includes a query subscription service that monitors specific data patterns and

    C
    Ver en GitHub↗10,760
  • etcd-io/bboltAvatar de etcd-io

    etcd-io/bbolt

    9,573Ver en GitHub↗

    bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single memory-mapped file on disk, organizing information using B+ trees to facilitate sorted key iteration and efficient range queries. The project distinguishes itself through a hierarchical data organization model, allowing buckets to be nested within other buckets to create a tree-like structure. It employs a single-writer, multi-reader locking mechanism and copy-on-write transactions to ensure serializable isolation and data integrity. The system includes comprehensive data management capa

    Go
    Ver en GitHub↗9,573
  • hdt3213/godisAvatar de HDT3213

    HDT3213/godis

    3,836Ver en GitHub↗

    Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data store and distributed message broker, implementing the Redis protocol to manage complex data structures in memory. The system provides a geospatial indexing engine for proximity-based queries and distance calculations. It ensures high availability and data durability through master-slave replication and write-ahead logging. The project covers a wide range of capabilities including the management of strings, hash maps, lists, and sorted sets. It supports distributed data clusterin

    Goclustergogodis
    Ver en GitHub↗3,836
  • redis/go-redisAvatar de redis

    redis/go-redis

    22,159Ver en GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    Ver en GitHub↗22,159
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Ver en 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

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Ver en GitHub↗78,987
  • tidwall/buntdbAvatar de tidwall

    tidwall/buntdb

    4,834Ver en GitHub↗

    BuntDB is an embedded key-value store for Go applications, providing in-memory storage with optional disk persistence. It structures data using a B-tree for ordered key-value access and an R-tree for spatial indexing, allowing both range scans and geometric intersection queries. Support for indexing on nested JSON document fields enables efficient lookups by values within JSON objects, and per-key time-to-live (TTL) expiration automatically removes stale entries. The store uses copy-on-write transaction isolation, ensuring each transaction sees a consistent snapshot and changes are applied at

    Godatabasegeospatialgolang
    Ver en GitHub↗4,834
  • apache/cassandraAvatar de apache

    apache/cassandra

    9,778Ver en GitHub↗

    Cassandra is a distributed NoSQL database and wide-column store designed for high availability and linear scalability. It functions as a fault-tolerant distributed system that utilizes an LSM-tree storage engine to optimize write throughput and manage massive datasets. The system is a CQL-compliant database, using a structured query language to manage and retrieve tabular data stored across multiple nodes. It organizes information into rows and columns based on a flexible schema and primary keys. The project provides capabilities for horizontal database scaling, distributed data partitioning

    Javacassandradatabasejava
    Ver en GitHub↗9,778
  • cockroachdb/pebbleAvatar de cockroachdb

    cockroachdb/pebble

    5,777Ver en 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

    Go
    Ver en GitHub↗5,777
  • nutsdb/nutsdbAvatar de nutsdb

    nutsdb/nutsdb

    3,554Ver en GitHub↗

    NutsDB is an ACID-compliant, embedded transactional storage engine that functions as both a disk-backed key-value store and an in-memory data structure store. It provides atomic and serializable transactions with commit and rollback capabilities to ensure strict data consistency for applications requiring a lightweight persistence layer. The engine distinguishes itself by supporting a variety of complex data types, including lists, sets, and sorted sets, alongside standard byte-slice storage. It implements a transactional storage model featuring hot backups and a compaction algorithm to maint

    Godata-structuresdatabasego
    Ver en GitHub↗3,554
  • golang/groupcacheAvatar de golang

    golang/groupcache

    13,326Ver en 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

    Go
    Ver en GitHub↗13,326
  • coreos/etcdAvatar de coreos

    coreos/etcd

    51,846Ver en GitHub↗

    etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro

    Go
    Ver en GitHub↗51,846
  • roseduan/rosedbAvatar de roseduan

    roseduan/rosedb

    4,882Ver en GitHub↗

    RoseDB is an embedded key-value database and log-structured storage engine. It functions as a library-based database that runs within an application process to provide local data persistence without the need for a separate database server. The project implements a Bitcask-style store, utilizing an append-only log format to maximize write throughput and minimize seek time. It ensures data consistency by grouping multiple read and write operations into single atomic units. The storage architecture relies on an in-memory key index for constant-time lookups and uses segment-based file management

    Go
    Ver en GitHub↗4,882
  • bluele/gcacheAvatar de bluele

    bluele/gcache

    2,731Ver en GitHub↗

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

    Go
    Ver en GitHub↗2,731
  • nathanmarz/elephantdbAvatar de nathanmarz

    nathanmarz/elephantdb

    558Ver en GitHub↗

    Distributed database specialized in exporting key/value data from Hadoop

    Java
    Ver en GitHub↗558
  • tarantool/tarantoolAvatar de tarantool

    tarantool/tarantool

    3,642Ver en GitHub↗

    Get your data in RAM. Get compute close to data. Enjoy the performance.

    Lua
    Ver en GitHub↗3,642
  • peterbourgon/diskvAvatar de peterbourgon

    peterbourgon/diskv

    1,458Ver en GitHub↗

    A disk-backed key-value store.

    Go
    Ver en GitHub↗1,458
  • faabiosr/cachegoAvatar de faabiosr

    faabiosr/cachego

    370Ver en GitHub↗

    Golang Cache component - Multiple drivers

    Go
    Ver en GitHub↗370