 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package cache is a middleware that provides the cache management of Tango.
Index ¶
- func DecodeGob(data []byte, out *Item) error
- func Decr(val interface{}) (interface{}, error)
- func EncodeGob(item *Item) ([]byte, error)
- func Incr(val interface{}) (interface{}, error)
- func Register(name string, adapter Adapter)
- type Adapter
- type Cache
- type Cacher
- type Caches
- func (c *Caches) Decr(key string) error
- func (c *Caches) Delete(key string) error
- func (c *Caches) Flush() error
- func (c *Caches) Get(key string) interface{}
- func (c *Caches) Handle(ctx *tango.Context)
- func (c *Caches) Incr(key string) error
- func (c *Caches) IsExist(key string) bool
- func (c *Caches) Option() Options
- func (c *Caches) Put(key string, val interface{}, timeout int64) error
 
- type FileCacher
- func (c *FileCacher) Decr(key string) error
- func (c *FileCacher) Delete(key string) error
- func (c *FileCacher) Flush() error
- func (c *FileCacher) Get(key string) interface{}
- func (c *FileCacher) Incr(key string) error
- func (c *FileCacher) IsExist(key string) bool
- func (c *FileCacher) Put(key string, val interface{}, expire int64) error
- func (c *FileCacher) StartAndGC(opt Options) error
 
- type Item
- 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) interface{}
- func (c *MemoryCacher) Incr(key string) (err error)
- func (c *MemoryCacher) IsExist(key string) bool
- func (c *MemoryCacher) Put(key string, val interface{}, 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 ¶
Types ¶
type Adapter ¶
type Adapter interface {
	// Put puts value into cache with key and expire time.
	Put(key string, val interface{}, timeout int64) error
	// Get gets cached value by given key.
	Get(key string) interface{}
	// 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
}
    Adapter is the interface that operates the cache data.
type Cache ¶
type Cache struct {
	*Caches
}
    Cache maintains cache adapter and tango handler interface
type Cacher ¶
type Cacher interface {
	SetCaches(*Caches)
}
    Cacher provides tango action handler to get proper handler
type Caches ¶
type Caches struct {
	// contains filtered or unexported fields
}
    Caches
func New ¶
New is a middleware that maps a cache.Cache service into the tango handler chain. An single variadic cache.Options struct can be optionally provided to configure.
type FileCacher ¶
type FileCacher struct {
	// contains filtered or unexported fields
}
    FileCacher represents a file cache adapter implementation.
func NewFileCacher ¶
func NewFileCacher() *FileCacher
NewFileCacher creates and returns a new file cacher.
func (*FileCacher) Delete ¶
func (c *FileCacher) Delete(key string) error
Delete deletes cached value by given key.
func (*FileCacher) Get ¶
func (c *FileCacher) Get(key string) interface{}
Get gets cached value by given key.
func (*FileCacher) Incr ¶
func (c *FileCacher) Incr(key string) error
Incr increases cached int-type value by given key as a counter.
func (*FileCacher) IsExist ¶
func (c *FileCacher) IsExist(key string) bool
IsExist returns true if cached value exists.
func (*FileCacher) Put ¶
func (c *FileCacher) Put(key string, val interface{}, 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 (*FileCacher) StartAndGC ¶
func (c *FileCacher) StartAndGC(opt Options) error
StartAndGC starts GC routine based on config string settings.
type MemoryCacher ¶
type MemoryCacher struct {
	// contains filtered or unexported fields
}
    MemoryCacher represents a memory cache adapter implementation.
func NewMemoryCacher ¶
func NewMemoryCacher() *MemoryCacher
NewMemoryCacher creates and returns a new memory cacher.
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) interface{}
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 interface{}, 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.