Simple interface for caching
Cachego requires Go 1.21 or later.
go get github.com/faabiosr/cachego
package main import ( "log" "time" "github.com/faabiosr/cachego/sync" ) func main() { cache := sync.New() if err := cache.Save("user_id", "1", 10*time.Second); err != nil { log.Fatal(err) } id, err := cache.Fetch("user_id") if err != nil { log.Fatal(err) } log.Printf("user id: %s \n", id) keys := cache.FetchMulti([]string{"user_id", "user_name"}) for k, v := range keys { log.Printf("%s: %s\n", k, v) } if cache.Contains("user_name") { cache.Delete("user_name") } if _, err := cache.Fetch("user_name"); err != nil { log.Printf("%v\n", err) } if err := cache.Flush(); err != nil { log.Fatal(err) } }
Read the full documentation at https://pkg.go.dev/github.com/faabiosr/cachego.
- Install docker
- Install docker-compose
// Clean up $ make clean //Run tests and generates html coverage file $ make cover // Up the docker containers for testing $ make docker // Format all go files $ make fmt //Run linters $ make lint // Run tests $ make test
This project is released under the MIT licence. See LICENSE for more details.