null
gocache
Our great sponsors
null | gocache | |
---|---|---|
5 | 2 | |
1,723 | 2,170 | |
- | - | |
5.6 | 6.4 | |
about 1 month ago | 5 days ago | |
Go | Go | |
BSD 2-clause "Simplified" License | MIT License |
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.
null
-
JSON encoder/decoder supporting omitempty on structs
Use-case: working on PATCH requests, the body may or may not contain nullable values. I am using guregu/null and I can't use a pointer because if the json contains "null" as a value, the pointer will be set to nil in the struct, instead of a value representing the presence of null. In short I can't differentiate the absence of the field in the request from the presence of the field with a null value.
-
Nilable - finally a way to stop using pointers just to get the nil state
https://github.com/guregu/null is an awesome package implementing most SQL scanner Interfaces plus JSON
- Golang backend with lots of raw SQL queries
-
Gonion - Golang Client for querying Tor network data
Unfortunately in Go, switching to *bool makes the api a little more awkward to use since users that need to set true or false have to define a local variable then use a pointer to that. Another option would be something like null, but that adds a dependency to your currently-dependency-free project. If anyone has a better solution to this pattern, I'd love to hear it.
gocache
-
Cacheme: Asyncio cache framework with multiple storages and thundering herd protection
I made Cacheme years ago, which support redis and synchronous API only. Then I switch to Go and found that there are some awesome cache projects in Go(ristretto, gocache...), I also made my own Cacheme go version: cacheme-go. After trying asyncio and type hint, I think it's time to rewrite my old Cacheme.
-
Any major projects using generics?
We are using https://github.com/eko/gocache in production projects.
What are some alternatives?
ttlcache - An in-memory cache with item expiration and generics [Moved to: https://github.com/jellydator/ttlcache]
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
gota - Gota: DataFrames and data wrangling in Go (Golang)
fsm - Finite State Machine for Go
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
mspm - Multi-String Pattern Matching Algorithm Using TrieNode
go-mcache - Fast in-memory key:value store/cache with TTL
boomfilters - Probabilistic data structures for processing continuous, unbounded streams.
go-geoindex - Go native library for fast point tracking and K-Nearest queries
bloom - Bloom filters implemented in Go.
binpacker - A binary stream packer and unpacker
bit - Bitset data structure