43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# cache
|
|
|
|
cache is a middleware that aim to have a transparent interface for a lot of cache implementations.
|
|
|
|
Use use many cache adapters, including memory and Memcache.
|
|
|
|
### Installation
|
|
|
|
go get code.forgejo.org/go-chi/cache
|
|
|
|
## Getting Help
|
|
|
|
```go
|
|
// Cache is the interface that operates the cache data.
|
|
type Cache interface {
|
|
// Put puts value into cache with key and expire time.
|
|
Put(key string, val any, timeout int64) error
|
|
// Get gets cached value by given key.
|
|
Get(key string) any
|
|
// Delete deletes cached value by given key.
|
|
Delete(key string) error
|
|
// Incr increases cached int-type value by given key as a counter.
|
|
Incr(key string) error
|
|
// Decr decreases cached int-type value by given key as a counter.
|
|
Decr(key string) error
|
|
// IsExist returns true if cached value exists.
|
|
IsExist(key string) bool
|
|
// Flush deletes all cached data.
|
|
Flush() error
|
|
// StartAndGC starts GC routine based on config string settings.
|
|
StartAndGC(opt Options) error
|
|
// Ping tests if the cache is alive
|
|
Ping() error
|
|
}
|
|
```
|
|
|
|
## Credits
|
|
|
|
This package is a modified version of [go-chi/cache](https://gitea.com/go-chi/cache) which is a modified version of [go-macaron/cache](https://github.com/go-macaron/cache).
|
|
|
|
## License
|
|
|
|
This project is under the Apache License, Version 2.0. See the [LICENSE](LICENSE) file for the full license text.
|