39 lines
729 B
Go
39 lines
729 B
Go
package cache
|
||
|
||
import (
|
||
"time"
|
||
)
|
||
|
||
const (
|
||
CACHE_DRIVE_REDIS = "redis"
|
||
CACHE_DRIVE_MEMORY = "memory"
|
||
)
|
||
|
||
// 缓存接口-支持Redis和内存使用
|
||
type Cacher[T any] interface {
|
||
// 设置
|
||
Set(k string, v T, d time.Duration)
|
||
|
||
// 取值
|
||
Get(k string) (T, bool)
|
||
|
||
// 设置-过期时间采用默认值
|
||
SetDefault(k string, v T)
|
||
|
||
// 删除
|
||
Delete(k string)
|
||
|
||
// 只有在给定Key项尚未存在,或者现有项已过期时,才能将项添加到缓存中。否则返回错误。
|
||
// Add(k string, v T, d time.Duration)
|
||
// IncrementInt(k string, n int) (num int, err error)
|
||
|
||
// 设置值,但不重置过期时间
|
||
SetKeepExpiration(k string, v T)
|
||
|
||
// 项目总数
|
||
ItemCount() (int64, error)
|
||
|
||
// 清空
|
||
Flush()
|
||
}
|