beego: Index | Files | Directories

package cache

import ""

Package cache provide a Cache interface and some implement engine Usage:




bm, err := cache.NewCache("memory", `{"interval":60}`)

Use it like this:

	bm.Put("astaxie", 1, 10 * time.Second)

 more docs


Package Files

cache.go cache_adapter.go conv.go file.go memory.go

func CreateOldToNewAdapter Uses

func CreateOldToNewAdapter(old Cache) cache.Cache

func GetBool Uses

func GetBool(v interface{}) bool

GetBool convert interface to bool.

func GetFloat64 Uses

func GetFloat64(v interface{}) float64

GetFloat64 convert interface to float64.

func GetInt Uses

func GetInt(v interface{}) int

GetInt convert interface to int.

func GetInt64 Uses

func GetInt64(v interface{}) int64

GetInt64 convert interface to int64.

func GetString Uses

func GetString(v interface{}) string

GetString convert interface to string.

func Register Uses

func Register(name string, adapter Instance)

Register makes a cache adapter available by the adapter name. If Register is called twice with the same name or if driver is nil, it panics.

type Cache Uses

type Cache interface {
    // get cached value by key.
    Get(key string) interface{}
    // GetMulti is a batch version of Get.
    GetMulti(keys []string) []interface{}
    // set cached value with key and expire time.
    Put(key string, val interface{}, timeout time.Duration) error
    // delete cached value by key.
    Delete(key string) error
    // increase cached int value by key, as a counter.
    Incr(key string) error
    // decrease cached int value by key, as a counter.
    Decr(key string) error
    // check if cached value exists or not.
    IsExist(key string) bool
    // clear all cache.
    ClearAll() error
    // start gc routine based on config string settings.
    StartAndGC(config string) error

Cache interface contains all behaviors for cache adapter. usage:

cache.Register("file",cache.NewFileCache) // this operation is run in init method of file.go.
c,err := cache.NewCache("file","{....}")
c.Put("key",value, 3600 * time.Second)
v := c.Get("key")

c.Incr("counter")  // now is 1
c.Incr("counter")  // now is 2
count := c.Get("counter").(int)

func CreateNewToOldCacheAdapter Uses

func CreateNewToOldCacheAdapter(delegate cache.Cache) Cache

func NewCache Uses

func NewCache(adapterName, config string) (adapter Cache, err error)

NewCache Create a new cache driver by adapter name and config string. config need to be correct JSON as string: {"interval":360}. it will start gc automatically.

func NewFileCache Uses

func NewFileCache() Cache

NewFileCache Create new file cache with no config. the level and expiry need set in method StartAndGC as config string.

func NewMemoryCache Uses

func NewMemoryCache() Cache

NewMemoryCache returns a new MemoryCache.

type Instance Uses

type Instance func() Cache

Instance is a function create a new Cache Instance


memcachePackage memcache for cache provider
redisPackage redis for cache provider

Package cache imports 4 packages (graph) and is imported by 4 packages. Updated 2020-11-07. Refresh now. Tools for package owners.