adapter

package
v0.0.0-...-2592bf7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FILE_CACHER_PATH string = "./runtime/cache/"
	FILE_CACHER_EXT  string = ""
)
View Source
const (
	MEMORY_GC_Time = time.Duration(10) * time.Second
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Adapter

type Adapter interface {
	Set(key string, val interface{}, timeout time.Duration) error
	Get(key string) interface{}
	Remove(key string) error
	Pull(key string) interface{}
	Clear() error
}

type CacheItem

type CacheItem struct {
	Key      string
	Data     interface{}
	CreateAt time.Time
	Exp      time.Duration
}

func NewCacheItem

func NewCacheItem(key string, data interface{}, exp time.Duration) *CacheItem

func (*CacheItem) GobDecode

func (to *CacheItem) GobDecode(data []byte) error

Go Gob 反序列化

func (*CacheItem) GobEncode

func (data *CacheItem) GobEncode() []byte

Go Gob 序列化

type CacherType

type CacherType string
const (
	TypeFile     CacherType = "file"
	TypeMemory   CacherType = "memory"
	TypeRedis    CacherType = "redis"
	TypeMemcache CacherType = "memcache"
)

type FileCacher

type FileCacher struct {
	Path string
	Ext  string
}

File Adapter

func DefaultFileCacher

func DefaultFileCacher() *FileCacher

默认配置

func NewFileCacher

func NewFileCacher(path string) *FileCacher

func (*FileCacher) Clear

func (fc *FileCacher) Clear() error

func (*FileCacher) Get

func (fc *FileCacher) Get(key string) interface{}

func (*FileCacher) Pull

func (fc *FileCacher) Pull(key string) interface{}

func (*FileCacher) Remove

func (fc *FileCacher) Remove(key string) error

func (*FileCacher) Set

func (fc *FileCacher) Set(key string, val interface{}, timeout time.Duration) error

Set

type MemcacheCacher

type MemcacheCacher struct {
	// contains filtered or unexported fields
}

func NewMemcacheCacher

func NewMemcacheCacher(server ...string) *MemcacheCacher

func (*MemcacheCacher) Clear

func (mc *MemcacheCacher) Clear() error

Clear

func (*MemcacheCacher) Get

func (mc *MemcacheCacher) Get(key string) interface{}

Get

func (*MemcacheCacher) Pull

func (mc *MemcacheCacher) Pull(key string) interface{}

Pull

func (*MemcacheCacher) Remove

func (mc *MemcacheCacher) Remove(key string) error

Remove

func (*MemcacheCacher) Set

func (mc *MemcacheCacher) Set(key string, val interface{}, timeout time.Duration) error

Set

type MemoryCacher

type MemoryCacher struct {
	sync.RWMutex
	Caches  map[string]*CacheItem
	GC_Time time.Duration
}

Memory Adapter

func DefaultMemoryCacher

func DefaultMemoryCacher() *MemoryCacher

func NewMemoryCacher

func NewMemoryCacher(gcTime time.Duration) *MemoryCacher

func (*MemoryCacher) Clear

func (mc *MemoryCacher) Clear() error

func (*MemoryCacher) Get

func (mc *MemoryCacher) Get(key string) interface{}

过期删除,存在则返回

func (*MemoryCacher) Pull

func (mc *MemoryCacher) Pull(key string) interface{}

func (*MemoryCacher) Remove

func (mc *MemoryCacher) Remove(key string) error

func (*MemoryCacher) Set

func (mc *MemoryCacher) Set(key string, val interface{}, timeout time.Duration) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL