Documentation
¶
Overview ¶
Package cache is a middleware that aim to have a transparent interface for a lot of cache implementations
Index ¶
- func Decr(val any) (any, error)
- func GenericPing(c Cache) error
- func Incr(val any) (any, error)
- func Register(name string, adapter Cache)
- type Cache
- type MemoryCacher
- func (c *MemoryCacher) Decr(key string) (err error)
- func (c *MemoryCacher) Delete(key string) error
- func (c *MemoryCacher) Flush() error
- func (c *MemoryCacher) Get(key string) any
- func (c *MemoryCacher) Incr(key string) (err error)
- func (c *MemoryCacher) IsExist(key string) bool
- func (c *MemoryCacher) Ping() error
- func (c *MemoryCacher) Put(key string, val any, expire int64) error
- func (c *MemoryCacher) StartAndGC(opt Options) error
- type MemoryItem
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenericPing ¶
GenericPing test a cache by storing and retrieving a value
Types ¶
type Cache ¶
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
}
Cache is the interface that operates the cache data.
type MemoryCacher ¶
type MemoryCacher struct {
// contains filtered or unexported fields
}
MemoryCacher represents a memory cache adapter implementation.
func (*MemoryCacher) Decr ¶
func (c *MemoryCacher) Decr(key string) (err error)
Decr decreases cached int-type value by given key as a counter.
func (*MemoryCacher) Delete ¶
func (c *MemoryCacher) Delete(key string) error
Delete deletes cached value by given key.
func (*MemoryCacher) Get ¶
func (c *MemoryCacher) Get(key string) any
Get gets cached value by given key.
func (*MemoryCacher) Incr ¶
func (c *MemoryCacher) Incr(key string) (err error)
Incr increases cached int-type value by given key as a counter.
func (*MemoryCacher) IsExist ¶
func (c *MemoryCacher) IsExist(key string) bool
IsExist returns true if cached value exists.
func (*MemoryCacher) Put ¶
func (c *MemoryCacher) Put(key string, val any, expire int64) error
Put puts value into cache with key and expire time. If expired is 0, it will be deleted by next GC operation.
func (*MemoryCacher) StartAndGC ¶
func (c *MemoryCacher) StartAndGC(opt Options) error
StartAndGC starts GC routine based on config string settings.
type MemoryItem ¶
type MemoryItem struct {
// contains filtered or unexported fields
}
MemoryItem represents a memory cache item.
type Options ¶
type Options struct {
// Name of adapter. Default is "memory".
Adapter string
// Adapter configuration, it's corresponding to adapter.
AdapterConfig string
// GC interval time in seconds. Default is 60.
Interval int
// Occupy entire database. Default is false.
OccupyMode bool
// Configuration section name. Default is "cache".
Section string
}
Options represents a struct for specifying configuration options for the cache middleware.