go-cache
go-memdb
go-cache | go-memdb | |
---|---|---|
8 | 3 | |
8,164 | 3,232 | |
- | 0.7% | |
0.0 | 4.2 | |
about 1 year ago | 27 days ago | |
Go | Go | |
MIT License | Mozilla Public 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.
go-cache
-
My first package in go. An in-memory cache package useful when creating multiple instances of the cache
Why I am creating this package? There is an already existing memory cache package which creates (One Janitor for One Cache) So I am running into issues where many go routines are running in our use cases causing the application to crash due to some memory leakage in the library itself or maybe multiple timers running at same time casuing the issue. Also this is a very popular github library but just doesn't fits when I am creating many cache instances. So thought about creating one package by myself.
-
VCache vs Go-Cache
I wrote a new library called VCache (https://github.com/microup/vcache). VCahce differs from go-cache (https://github.com/patrickmn/go-cache) by using a key of type "any" instead of a key of type "string". I compared the performance of both libraries on the main operations: Add, Get, and Delete.
-
Better Cache - A Lightning Fast Caching System with Full Text Search
https://github.com/patrickmn/go-cache is a well known one. My cache module is for it's fast full text search thus I recommend only using mine if u are using a pre-set cache.
-
go-cache VS ccache - a user suggested alternative
2 projects | 2 Apr 2022
-
Implement an in-memory cache in Golang
github.com - patrickmn/go-cache
-
Log4j RCE Found
> when they went a year without a release.
Cause these libraries depend on other libraries that are probably extremely out of date at that point and have their own security vulnerabilities.
An example of a project that hasn't been dismissed as "abandoned", is https://github.com/patrickmn/go-cache because it explicitly doesnt have dependencies.
So yeah, if you have a semi-complex library, a year without a release is abandoned.
-
Cache locally using text file
implementing runtime cache using map seems doable, i may just learn from github.com/patrickmn/go-cache but i dont understand what does it mean cache locally using text file. does it mean I have to:
-
In-memory caching solutions
Though pretty simple but have a look at https://github.com/patrickmn/go-cache
go-memdb
-
I created an in-memory SQL database called MemSQL as a learning project
For another in-memory database example, you could also check out https://github.com/hashicorp/go-memdb, but it's based on a radix tree implementation.
-
Why use a real K/V database over a MapStore?
I just think its a glorified map. Yeah, for example go-memdb list some of its advantages in their https://github.com/hashicorp/go-memdb/blob/master/README.md README. But it is not clear whether you gain any performance gain over a map except for avoiding the locking as explained.
-
An Unlikely Database Migration
>So we invested what probably amounts to two or three weeks of engineering time into designing in-memory indexes that are transactionally consistent
I'll be interested to see that part if it does get open sourced. I've used https://github.com/hashicorp/go-memdb which sounds similar.
What are some alternatives?
BigCache - Efficient cache for gigabytes of data written in Go.
dbbench - 🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
buntdb - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
GCache - An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC
badger - Fast key-value DB in Go.
bolt
cache2go - Concurrency-safe Go caching library with expiration capabilities and access counters
cockroach - CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.
goose
tidb - TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.