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

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
allegro avatar

allegro/bigcache

0
View on GitHub↗
8,140 stars·608 forks·Go·Apache-2.0·25 viewsallegro.tech/2016/03/writing-fast-cache-service-in-go.html↗

Bigcache

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 retrieval, specifically targeting the management of massive datasets within distributed system environments.

Features

  • In-Memory Caches - Provides a high-performance in-memory cache capable of storing gigabytes of data with minimal latency.
  • GC-Aware Memory Management - Manages massive in-memory datasets in Go specifically to avoid frequent garbage collection cycles.
  • GC-Optimized Caching - Avoids Go garbage collector pauses by managing cache memory in large byte arrays.
  • Key-Value Stores - Implements a thread-safe in-memory key-value store for fast access across multiple goroutines.
  • Low-Latency Data Retrieval - Enables rapid access to frequently used datasets from memory to reduce database load and response times.
  • Circular Memory Buffers - Utilizes a circular-buffer memory layout to reuse space by overwriting the oldest entries when the cache fills.
  • Manual Memory Management - Allocates large chunks of memory upfront to bypass the Go runtime heap allocation overhead.
  • GC-Optimized Byte Storage - Implements data storage in large contiguous byte slices to significantly reduce garbage collection overhead.
  • Lock-Striped Sharding - Employs lock-striped sharding to minimize contention during concurrent read and write operations.
  • Distributed Caches - Provides a high-performance local cache for shared data to minimize network calls in distributed environments.
  • In-Memory Data Stores - Stores gigabytes of data in memory while bypassing garbage collection overhead to maintain high performance.
  • Offset-Based Addressing - Uses relative byte offsets within a large memory block to provide fast, zero-copy access to stored values.
  • Zero-Copy - Returns views into the underlying byte array instead of allocating new memory for retrieved values.
  • Caching Libraries - Efficient in-memory cache.
  • Databases - Efficient key-value cache for large datasets.

Star history

Star history chart for allegro/bigcacheStar history chart for allegro/bigcache

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Bigcache

These projects share indexed features with Bigcache. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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

    Go
    View on GitHub↗6,932
  • hazelcast/hazelcasthazelcast avatar

    hazelcast/hazelcast

    6,570View on 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
    View on GitHub↗6,570
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on 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
    View on GitHub↗9,987
  • memcached/memcachedmemcached avatar

    memcached/memcached

    14,132View on GitHub↗

    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
    View on GitHub↗14,132
Compare all 30 related projects→

Frequently asked questions

What does allegro/bigcache do?

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.

What are the main features of allegro/bigcache?

The main features of allegro/bigcache are: In-Memory Caches, GC-Aware Memory Management, GC-Optimized Caching, Key-Value Stores, Low-Latency Data Retrieval, Circular Memory Buffers, Manual Memory Management, GC-Optimized Byte Storage.

Which projects share features with allegro/bigcache?

Projects with overlapping indexed features include: dgraph-io/ristretto — Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… 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… patrickmn/go-cache — go-cache is a thread-safe, in-memory cache library for Go that stores arbitrary objects with per-item expiration… pmylund/go-cache — go-cache is a thread-safe, in-memory key-value store for single-machine applications. It provides a local caching…