Files
cache/abstract/i_cache.go
2025-10-18 11:31:47 +08:00

32 lines
1000 B
Go

// Package cache ...
//
// Description : cache ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-03-21 12:09
package cache
import (
"context"
)
// ResultParseFunc 结解析方法
type ResultParseFunc func(res any) error
// ICache 缓存的接口约束
type ICache interface {
// Exist 缓存是否存在
Exist(ctx context.Context, cacheInstanceFlag string, key string) (bool, error)
// TTL key还有多长时间过期
TTL(ctx context.Context, cacheInstanceFlag string, key string) (int64, error)
// Set 设置缓存
Set(ctx context.Context, cacheInstanceFlag string, key string, value any, ttl int64) error
// Get 读取原始缓存数据
Get(ctx context.Context, cacheInstanceFlag string, key string) (any, error)
// GetWithParse 获取结果并解析
GetWithParse(ctx context.Context, cacheInstanceFlag string, key string, parseFunc ResultParseFunc) (any, error)
// Delete 删除缓存
Delete(ctx context.Context, cacheInstanceFlag string, key string) error
}