- 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
go get "github.com/xiao7737/concurrentMap"
// 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"))
- Batch setting operation
- See more details through test file: concurrent_map_test.go
- Get performance comparison:
go test -bench=.