SkillAgentSearch skills...

ConcurrentMap

thread-safe map

Install / Use

/learn @xiao7737/ConcurrentMap
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

concurrentMap

Features

  • thread safe and high performance read and write
  • sharding mechanism to reduce lock range
  • read-write lock to improve concurrency
  • murmurHash to make the distribution more reasonable
  • support user program to customize the number of shard
  • provide operations including create, get, set, del, count, exists

Import

go get "github.com/xiao7737/concurrentMap"

Usage

    // Init map (recommend to take an alias)
    cm := concurrentMap.CreateConcurrentMap(32)

    // Add or update
    cm.Set(ConvertStr("hello"), "go")

    // Get kv
    res, ok := cm.Get(ConvertStr("hello"))   

    // Del kv
    cm.Del(ConvertStr("hello"))

Performance comparison with sync.Map

image

TODO

  • Batch setting operation

More details

Related Skills

View on GitHub
GitHub Stars13
CategoryDevelopment
Updated4y ago
Forks1

Languages

Go

Security Score

75/100

Audited on Dec 14, 2021

No findings