Documentation ¶
Index ¶
- Variables
- type Bag
- type Cache
- type Codec
- type DeleteResult
- type GetResult
- type HasResult
- type KVData
- type MCache
- type MDeleteResult
- type MDeleter
- type MGetResult
- type MGetter
- type MHasResult
- type MHaser
- type MSetResult
- type MSetter
- type MarshalFunc
- type Option
- type ProS
- func (pc *ProS[K, V]) Delete(ctx context.Context, key K) (deleted int, err error)
- func (pc *ProS[K, V]) Get(ctx context.Context, key K) (value V, err error)
- func (pc *ProS[K, V]) Has(ctx context.Context, key K) (has bool, err error)
- func (pc *ProS[K, V]) Set(ctx context.Context, key K, value V, ttl time.Duration) error
- type ReSetter
- type SCache
- type SetResult
- type Template
- func (ct *Template) Delete(ctx context.Context, key any) DeleteResult
- func (ct *Template) Get(ctx context.Context, key any) GetResult
- func (ct *Template) Has(ctx context.Context, key any) HasResult
- func (ct *Template) MDelete(ctx context.Context, keys []any) MDeleteResult
- func (ct *Template) MGet(ctx context.Context, keys []any) MGetResult
- func (ct *Template) MHas(ctx context.Context, keys []any) MHasResult
- func (ct *Template) MSet(ctx context.Context, kvs KVData, ttl time.Duration) MSetResult
- func (ct *Template) Reset(ctx context.Context) error
- func (ct *Template) Set(ctx context.Context, key any, value any, ttl time.Duration) SetResult
- type UnmarshalFunc
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotExists = errors.New("cache not exists")
ErrNotExists 缓存数据不存在
Functions ¶
This section is empty.
Types ¶
type Codec ¶
type Codec interface { // Marshal 数据序列化方法 Marshal(obj any) ([]byte, error) // Unmarshal 数据反序列化方法 Unmarshal(bf []byte, obj any) error }
Codec 数据编解码器
type DeleteResult ¶
DeleteResult Delete 方法的结果接口定义
type GetResult ¶
type GetResult struct { Err error UnmarshalFunc UnmarshalFunc Payload []byte }
GetResult Get 方法的结果
type MDeleter ¶
type MDeleter interface {
MDelete(ctx context.Context, keys []any) MDeleteResult
}
MDeleter 批量删除缓存
type MGetResult ¶
MGetResult 批量查询 MGet 接口的结果 若key不存在,是不存在
type MGetter ¶
type MGetter interface {
MGet(ctx context.Context, keys []any) MGetResult
}
MGetter 批量查询缓存
type MHasResult ¶
MHasResult 批量判断是否存在 MHas 接口的结果
type MHaser ¶
type MHaser interface {
MHas(ctx context.Context, keys []any) MHasResult
}
MHaser 批量判断是否存在
type MSetResult ¶
MSetResult 批量设置 MSet 接口的结果
type ProS ¶
func (*ProS[K, V]) Get ¶
Get 查询单个
Example ¶
package main import ( "context" "fmt" "github.com/fsgo/fscache" "github.com/fsgo/fscache/nopcache" ) func main() { ps := &fscache.ProS[string, string]{ SCache: nopcache.Nop, } got, err := ps.Get(context.Background(), "hello") fmt.Println("got=", got, ", err=", err) }
Output: got= , err= cache not exists
type SCache ¶
type SCache interface { // Get 查询单个 Get(ctx context.Context, key any) GetResult // Set 设置并附带有效期 Set(ctx context.Context, key any, value any, ttl time.Duration) SetResult // Has 判断是否存在 Has(ctx context.Context, key any) HasResult // Delete 删除指定的 key Delete(ctx context.Context, key any) DeleteResult }
SCache 普通的单个缓存
type Template ¶
Template 缓存模板类
func (*Template) Delete ¶
func (ct *Template) Delete(ctx context.Context, key any) DeleteResult
Delete 删除
func (*Template) MDelete ¶
func (ct *Template) MDelete(ctx context.Context, keys []any) MDeleteResult
MDelete 批量删除
func (*Template) MGet ¶
func (ct *Template) MGet(ctx context.Context, keys []any) MGetResult
MGet 批量获取
func (*Template) MHas ¶
func (ct *Template) MHas(ctx context.Context, keys []any) MHasResult
MHas 批量判断是否存在
Source Files ¶
Click to show internal directories.
Click to hide internal directories.