cache

package
v4.0.0-...-54dc81d Latest Latest
Warning

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

Go to latest
Published: May 10, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultCacheFile = "cache_persist.bin"

Variables

This section is empty.

Functions

This section is empty.

Types

type Driver

type Driver interface {
	// 设置值,ttl为过期时间,单位为秒
	Set(key string, value any, ttl int) error

	// 取值,并返回是否成功
	Get(key string) (any, bool)

	// 批量取值,返回成功取值的map即不存在的值
	Gets(keys []string, prefix string) (map[string]any, []string)

	// 批量设置值,所有的key都会加上prefix前缀
	Sets(values map[string]any, prefix string) error

	// Delete values by [Prefix + key]. If no ket is presented, all keys with given prefix will be deleted.
	Delete(prefix string, keys ...string) error

	// Save in-memory cache to disk
	Persist(path string) error

	// Restore cache from disk
	Restore(path string) error

	// Remove all entries
	DeleteAll() error
}

Driver 键值缓存存储容器

type MemoStore

type MemoStore struct {
	Store *sync.Map
}

MemoStore 内存存储驱动

func NewMemoStore

func NewMemoStore(persistFile string, l logging.Logger) *MemoStore

NewMemoStore 新建内存存储

func (*MemoStore) Delete

func (store *MemoStore) Delete(prefix string, keys ...string) error

Delete 批量删除值

func (*MemoStore) DeleteAll

func (store *MemoStore) DeleteAll() error

func (*MemoStore) GarbageCollect

func (store *MemoStore) GarbageCollect(l logging.Logger)

GarbageCollect 回收已过期的缓存

func (*MemoStore) Get

func (store *MemoStore) Get(key string) (any, bool)

Get 取值

func (*MemoStore) Gets

func (store *MemoStore) Gets(keys []string, prefix string) (map[string]any, []string)

Gets 批量取值

func (*MemoStore) Persist

func (store *MemoStore) Persist(path string) error

Persist write memory store into cache

func (*MemoStore) Restore

func (store *MemoStore) Restore(path string) error

Restore memory cache from disk file

func (*MemoStore) Set

func (store *MemoStore) Set(key string, value any, ttl int) error

Set 存储值

func (*MemoStore) Sets

func (store *MemoStore) Sets(values map[string]any, prefix string) error

Sets 批量设置值

type RedisStore

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

RedisStore redis存储驱动

func NewRedisStore

func NewRedisStore(l logging.Logger, size int, redisConfig *conf.Redis) *RedisStore

NewRedisStore 创建新的redis存储

func (*RedisStore) Delete

func (store *RedisStore) Delete(prefix string, keys ...string) error

Delete 批量删除给定的键

func (*RedisStore) DeleteAll

func (store *RedisStore) DeleteAll() error

DeleteAll 批量所有键

func (*RedisStore) Get

func (store *RedisStore) Get(key string) (any, bool)

Get 取值

func (*RedisStore) Gets

func (store *RedisStore) Gets(keys []string, prefix string) (map[string]any, []string)

Gets 批量取值

func (*RedisStore) Persist

func (store *RedisStore) Persist(path string) error

Persist Dummy implementation

func (*RedisStore) Restore

func (store *RedisStore) Restore(path string) error

Restore dummy implementation

func (*RedisStore) Set

func (store *RedisStore) Set(key string, value any, ttl int) error

Set 存储值

func (*RedisStore) Sets

func (store *RedisStore) Sets(values map[string]any, prefix string) error

Sets 批量设置值

Jump to

Keyboard shortcuts

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