cache

package
v2.1.2 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2023 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteContext

func DeleteContext(ctx context.Context, cache Cache, key string) error

DeleteContext delete value in cache.

func GetContext

func GetContext(ctx context.Context, cache Cache, key string) interface{}

GetContext get value from cache

func IsExistContext

func IsExistContext(ctx context.Context, cache Cache, key string) bool

IsExistContext check value exists in cache.

func SetContext

func SetContext(ctx context.Context, cache Cache, key string, val interface{}, timeout time.Duration) error

SetContext set value to cache

Types

type Cache

type Cache interface {
	Get(key string) interface{}
	Set(key string, val interface{}, timeout time.Duration) error
	IsExist(key string) bool
	Delete(key string) error
}

Cache interface

type ContextCache

type ContextCache interface {
	Cache
	GetContext(ctx context.Context, key string) interface{}
	SetContext(ctx context.Context, key string, val interface{}, timeout time.Duration) error
	IsExistContext(ctx context.Context, key string) bool
	DeleteContext(ctx context.Context, key string) error
}

ContextCache interface

type Memcache

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

Memcache struct contains *memcache.Client

func NewMemcache

func NewMemcache(server ...string) *Memcache

NewMemcache create new memcache

func (*Memcache) Delete

func (mem *Memcache) Delete(key string) error

Delete delete value in memcache.

func (*Memcache) Get

func (mem *Memcache) Get(key string) interface{}

Get return cached value

func (*Memcache) IsExist

func (mem *Memcache) IsExist(key string) bool

IsExist check value exists in memcache.

func (*Memcache) Set

func (mem *Memcache) Set(key string, val interface{}, timeout time.Duration) (err error)

Set cached value with key and expire time.

type Memory

type Memory struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Memory struct contains *memcache.Client

func NewMemory

func NewMemory() *Memory

NewMemory create new memcache

func (*Memory) Delete

func (mem *Memory) Delete(key string) error

Delete delete value in memcache.

func (*Memory) Get

func (mem *Memory) Get(key string) interface{}

Get return cached value

func (*Memory) IsExist

func (mem *Memory) IsExist(key string) bool

IsExist check value exists in memcache.

func (*Memory) Set

func (mem *Memory) Set(key string, val interface{}, timeout time.Duration) (err error)

Set cached value with key and expire time.

type Redis

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

Redis .redis cache

func NewRedis

func NewRedis(ctx context.Context, opts *RedisOpts) *Redis

NewRedis 实例化

func (*Redis) Delete

func (r *Redis) Delete(key string) error

Delete 删除

func (*Redis) DeleteContext

func (r *Redis) DeleteContext(ctx context.Context, key string) error

DeleteContext 删除

func (*Redis) Get

func (r *Redis) Get(key string) interface{}

Get 获取一个值

func (*Redis) GetContext

func (r *Redis) GetContext(ctx context.Context, key string) interface{}

GetContext 获取一个值

func (*Redis) IsExist

func (r *Redis) IsExist(key string) bool

IsExist 判断key是否存在

func (*Redis) IsExistContext

func (r *Redis) IsExistContext(ctx context.Context, key string) bool

IsExistContext 判断key是否存在

func (*Redis) Set

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

Set 设置一个值

func (*Redis) SetConn

func (r *Redis) SetConn(conn redis.UniversalClient)

SetConn 设置conn

func (*Redis) SetContext

func (r *Redis) SetContext(ctx context.Context, key string, val interface{}, timeout time.Duration) error

SetContext 设置一个值

func (*Redis) SetRedisCtx

func (r *Redis) SetRedisCtx(ctx context.Context)

SetRedisCtx 设置redis ctx 参数

type RedisOpts

type RedisOpts struct {
	Host        string `yml:"host" json:"host"`
	Password    string `yml:"password" json:"password"`
	Database    int    `yml:"database" json:"database"`
	MaxIdle     int    `yml:"max_idle" json:"max_idle"`
	MaxActive   int    `yml:"max_active" json:"max_active"`
	IdleTimeout int    `yml:"idle_timeout" json:"idle_timeout"` // second
}

RedisOpts redis 连接属性

Jump to

Keyboard shortcuts

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