2021-06-07 17:22:07 +08:00
|
|
|
|
package cache
|
|
|
|
|
|
|
|
|
|
|
|
type Cache interface {
|
|
|
|
|
|
// 添加缓存,如果缓存则返回错误
|
2023-06-01 12:31:32 +08:00
|
|
|
|
Add(k string, v any) error
|
2021-06-07 17:22:07 +08:00
|
|
|
|
|
|
|
|
|
|
// 如果不存在则添加缓存值,否则直接返回
|
2023-06-01 12:31:32 +08:00
|
|
|
|
AddIfAbsent(k string, v any)
|
2021-06-07 17:22:07 +08:00
|
|
|
|
|
|
|
|
|
|
// 如果存在则直接返回,否则调用getValue回调函数获取值并添加该缓存值
|
|
|
|
|
|
// @return 缓存值
|
2023-06-01 12:31:32 +08:00
|
|
|
|
ComputeIfAbsent(k string, getValueFunc func(string) (any, error)) (any, error)
|
2021-06-07 17:22:07 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取缓存值,参数1为值,参数2->是否存在该缓存
|
2023-06-01 12:31:32 +08:00
|
|
|
|
Get(k string) (any, bool)
|
2021-06-07 17:22:07 +08:00
|
|
|
|
|
|
|
|
|
|
// 缓存数量
|
|
|
|
|
|
Count() int
|
|
|
|
|
|
|
|
|
|
|
|
// 删除缓存
|
|
|
|
|
|
Delete(k string)
|
|
|
|
|
|
|
|
|
|
|
|
// 清空所有缓存
|
|
|
|
|
|
Clear()
|
|
|
|
|
|
}
|