awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
orcaman avatar

orcaman/concurrent-map

0
View on GitHub↗
4,528 星标·556 分支·Go·mit·2 次浏览

Concurrent Map

Concurrent-map is a lock-striped hash map and sharded concurrent cache for Go, designed as a high-performance key-value store that enables thread-safe parallel reads and writes with minimal blocking. It replaces a single global mutex with per-shard locking, using hash-based key distribution to assign entries to independent segments, allowing multiple goroutines to operate simultaneously without race conditions.

The library achieves its performance through fine-grained locking and a lock-free read path, where each shard operates independently with its own lock, enabling parallel reads and writes across different shards without interference. It supports snapshot-based iteration, allowing safe traversal of all entries while concurrent modifications occur, and provides standard key-value operations including insertion, retrieval, deletion, existence checks, counting, and clearing all entries in a thread-safe manner.

As a sharded in-memory cache, concurrent-map partitions data into independent segments to reduce lock contention and maximize throughput for concurrent access patterns. The project is distributed as a Go package with a straightforward API for storing and retrieving key-value pairs across multiple goroutines.

Features

  • Concurrent Map Implementations - Provides a high-performance concurrent map implementation optimized for parallel reads and writes.
  • Sharded Read-Write Operations - Divides a map into shards each with its own lock so multiple goroutines can read and write simultaneously.
  • Thread-Safe Sharded Caches - Provides a thread-safe in-memory cache supporting parallel reads and writes without race conditions.
  • Concurrent Store-and-Retrieve Operations - Stores and retrieves key-value pairs across multiple shards so goroutines can read and write without blocking.
  • Key-Value Pair Managers - Provides concurrent-safe insertion and update of key-value pairs in a sharded map.
  • Key-Value Stores - Delivers a high-performance key-value store optimized for concurrent access across many goroutines.
  • Concurrent - Stores and retrieves values by key across multiple goroutines without data races or corruption.
  • Map Key Removals - Provides concurrent-safe deletion of key-value pairs from a sharded map structure.
  • Safe Key Accessors - Implements safe key-value retrieval with existence checks for concurrent read access.
  • Concurrent Data Structures - Implements a thread-safe concurrent map data structure for multi-goroutine environments.
  • Concurrent Shared-Map Access - Partitions the map into shards each with its own lock so multiple goroutines can read and write with minimal contention.
  • Fine-Grained Locking - Implements per-shard locking to enable parallel reads and writes across independent map segments.
  • Hash-Based Data Distribution - Uses a hash function to distribute keys across shards for balanced load and deterministic placement.
  • Lock-Striped Sharding - Divides the map into independent segments each with its own lock to reduce contention during concurrent access.
  • Lock-Striped Hash Maps - Implements a lock-striped hash map that reduces contention through fine-grained per-shard locking.
  • Sharded Key-Value Stores - Partitions data into independent shards with per-shard locks for high-throughput concurrent access.
  • Snapshot Iterations - Supports snapshot-based iteration allowing safe traversal of all entries while concurrent modifications occur.
  • Key-Value Store Iterators - Walks through all key-value pairs in the map using a callback function while maintaining thread safety.
  • Concurrent Map Iterators - Walks every key-value pair in the map while other goroutines continue to modify it using a snapshot or lock-per-shard strategy.
  • Parallel Shard Reads and Writes - Enables simultaneous reads and writes across different map shards to avoid global lock contention.
  • Lock-Free Read Paths - Provides a lock-free read path that allows concurrent reads without blocking other shard operations.
  • Sharded Maps - Shards a map into segments with independent locks to reduce contention and boost concurrent throughput.
  • Development Utilities - Concurrent-safe map implementation.

Star 历史

orcaman/concurrent-map 的 Star 历史图表orcaman/concurrent-map 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

orcaman/concurrent-map 是做什么的?

Concurrent-map is a lock-striped hash map and sharded concurrent cache for Go, designed as a high-performance key-value store that enables thread-safe parallel reads and writes with minimal blocking. It replaces a single global mutex with per-shard locking, using hash-based key distribution to assign entries to independent segments, allowing multiple goroutines to operate simultaneously without race conditions.

orcaman/concurrent-map 的主要功能有哪些?

orcaman/concurrent-map 的主要功能包括:Concurrent Map Implementations, Sharded Read-Write Operations, Thread-Safe Sharded Caches, Concurrent Store-and-Retrieve Operations, Key-Value Pair Managers, Key-Value Stores, Concurrent, Map Key Removals。

orcaman/concurrent-map 有哪些开源替代品?

orcaman/concurrent-map 的开源替代品包括: xacrimon/dashmap — DashMap is a concurrent hash map for Rust, providing a thread-safe associative array designed for high-performance… dgraph-io/ristretto — Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a… etcd-io/bbolt — bbolt is an ACID-compliant embedded key-value store for Go applications. It persists all data in a single… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… apify/crawlee-python — Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive… carp-lang/carp — Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless…

Concurrent Map 的开源替代方案

相似的开源项目,按与 Concurrent Map 的功能重合度排序。
  • xacrimon/dashmapxacrimon 的头像

    xacrimon/dashmap

    4,064在 GitHub 上查看↗

    DashMap is a concurrent hash map for Rust, providing a thread-safe associative array designed for high-performance multi-threaded access. It serves as a concurrent data structure that allows simultaneous reads and writes without requiring a global lock. The project utilizes a sharded lock architecture to reduce thread contention, employing fine-grained locking at the shard level. It is a Serde-compatible map, implementing serialization and deserialization to convert map data to and from common formats. The library covers capabilities for concurrent data storage, shared state management, and

    Rustconcurrentconcurrent-data-structureconcurrent-map
    在 GitHub 上查看↗4,064
  • dgraph-io/ristrettodgraph-io 的头像

    dgraph-io/ristretto

    6,932在 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
    在 GitHub 上查看↗6,932
  • etcd-io/bboltetcd-io 的头像

    etcd-io/bbolt

    9,573在 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
    在 GitHub 上查看↗9,573
  • hazelcast/hazelcasthazelcast 的头像

    hazelcast/hazelcast

    6,570在 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
    在 GitHub 上查看↗6,570
  • 查看 Concurrent Map 的所有 30 个替代方案→