# README
cache
Package cache is a middleware that provides the cache management for Flamego.
Installation
The minimum requirement of Go is 1.18.
go get github.com/flamego/cache
Getting started
package main
import (
"net/http"
"time"
"github.com/flamego/cache"
"github.com/flamego/flamego"
)
func main() {
f := flamego.Classic()
f.Use(cache.Cacher())
f.Get("/set", func(r *http.Request, cache cache.Cache) error {
return cache.Set(r.Context(), "cooldown", true, time.Minute)
})
f.Get("/get", func(r *http.Request, cache cache.Cache) string {
v, err := cache.Get(r.Context(), "cooldown")
if err != nil && err != os.ErrNotExist {
return err.Error()
}
cooldown, ok := v.(bool)
if !ok || !cooldown {
return "It has been cooled"
}
return "Still hot"
})
f.Run()
}
Getting help
- Read documentation and examples.
- Please file an issue or start a discussion on the flamego/flamego repository.
License
This project is under the MIT License. See the LICENSE file for the full license text.
# Functions
Cacher returns a middleware handler that injects cache.Cache into the request context, which is used for manipulating cache data.
FileIniter returns the Initer for the file cache store.
GobEncoder is a cache data encoder using Gob.
MemoryIniter returns the Initer for the memory cache store.
# Structs
FileConfig contains options for the file cache store.
MemoryConfig contains options for the memory cache store.
Options contains options for the cache.Cacher middleware.
# Interfaces
Cache is a cache store with capabilities of setting, reading, deleting and GC cache data.