No description
.gitlab-ci.yml | ||
.golangci.yml | ||
cache.go | ||
cache_test.go | ||
CHANGELOG.md | ||
go.mod | ||
LICENSE | ||
README.md |
go/cache
Cache provides an in-memory key-value store used to cache arbitrary data.
It supports entry expiration.
Quickstart
You can add cache
to your project using go get
:
go get code.bcarlin.xyz/go/cache
You can then import it in your code:
import "code.bcarlin.xyz/go/cache"
Tests
To run the tests, run the command:
go test
Usage
The API is very light and straight forward:
// Initialize a cache
c := cache.New()
// Store some values. Keys must be strings.
c.Put("foo", "my data")
c.Put("the-answer", 42)
// Store some more data with an ewpiration date
c.PutTTL("not-the-answer", 144, 1*time.Hour)
// Retrieve some data
val, ok := c.Get("the-answer")
if !ok {
fmt.Println("cache missed")
}
// Delete entries
c.Del("foo")
c.Del("does-not-exist") // does not fail