https://github.com/flamego/cache
Package cache is a middleware that provides the cache management for Flamego
https://github.com/flamego/cache
cache flamego go lsif-enabled middleware
Last synced: 4 months ago
JSON representation
Package cache is a middleware that provides the cache management for Flamego
- Host: GitHub
- URL: https://github.com/flamego/cache
- Owner: flamego
- License: mit
- Created: 2021-08-25T09:50:34.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-07-01T17:13:42.000Z (12 months ago)
- Last Synced: 2025-07-01T18:25:30.551Z (12 months ago)
- Topics: cache, flamego, go, lsif-enabled, middleware
- Language: Go
- Homepage:
- Size: 227 KB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cache
[](https://github.com/flamego/cache/actions?query=workflow%3AGo)
[](https://pkg.go.dev/github.com/flamego/cache?tab=doc)
Package cache is a middleware that provides the cache management for [Flamego](https://github.com/flamego/flamego).
## Installation
```zsh
go get github.com/flamego/cache
```
## Getting started
```go
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](https://flamego.dev/middleware/cache.html).
- Please [file an issue](https://github.com/flamego/flamego/issues) or [start a discussion](https://github.com/flamego/flamego/discussions) on the [flamego/flamego](https://github.com/flamego/flamego) repository.
## License
This project is under the MIT License. See the [LICENSE](LICENSE) file for the full license text.