bolthold
BigCache
bolthold | BigCache | |
---|---|---|
2 | 1 | |
630 | 7,202 | |
- | 0.7% | |
4.5 | 6.2 | |
about 2 months ago | 6 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bolthold
- Resource for making database from scratch
-
Recommendation for Key/Value storage
There's a great wrapper library around bolt (and badger, by the same guy): https://github.com/timshannon/bolthold
BigCache
-
Recommendation for Key/Value storage
There are also different packages used as a wrapper on top of the Go map based on what your requirements are (storing a lot of data) https://github.com/allegro/bigcache or (need performance) https://github.com/dgraph-io/ristretto. For basic use-cases, the standard Go map should be enough. Just keep in mind whether you need concurrent access to your data structure, in which case you should guard your map with a mutex .
What are some alternatives?
pebble - RocksDB/LevelDB inspired key-value database in Go
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
helindb
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
fbptree - A persistent storage (in file) based using B+ tree with byte-slice keys and values
ristretto - A high performance memory-bound Go cache
pogreb - Embedded key-value store for read-heavy workloads written in Go
GCache - An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC
badger - Fast key-value DB in Go.
fastcache - Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead