carrotcache

package
v0.0.0-...-379d7ff Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AtomicInt

type AtomicInt int64

封装一个原子类

func (*AtomicInt) Add

func (i *AtomicInt) Add(n int64)

Add:原子自增

func (*AtomicInt) Get

func (i *AtomicInt) Get() int64

Get:原子读取

type Getter

type Getter interface {
	Get(key string) ([]byte, error)
}

Getter:回调接口定义,只包含一个方法 Get 既能够将普通的函数类型(需类型转换)作为参数,也可以将结构体作为参数,使用更为灵活,可读性也更好,这就是接口型函数的价值。

type GetterFunc

type GetterFunc func(key string) ([]byte, error)

GetterFunc:定义函数类型,GetterFunc 参数和返回值与 Getter 中 Get 方法是一致的。

func (GetterFunc) Get

func (f GetterFunc) Get(key string) ([]byte, error)

Get:GetterFunc 还定义了 Get 方式,并在 Get 方法中调用自己,这样就实现了接口 Getter。 所以 GetterFunc 是一个实现了接口的函数类型,简称为接口型函数。

type Group

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

一个 Group 可以认为是一个缓存的命名空间,主要负责与外部交互,控制缓存存储和获取的主流程

func GetGroup

func GetGroup(name string) *Group

GetGroup: 返回先前使用 NewGroup 创建的命名组,如果没有这样的组,则为 nil

func NewGroup

func NewGroup(name string, cacheByte int64, getter Getter) *Group

NewGroup: 创建一个新的Group实例

func (*Group) Get

func (g *Group) Get(key string) (byteview.ByteView, error)

Get:通过 key 去 cache 取相对应的 value

func (*Group) RegisterPeers

func (g *Group) RegisterPeers(peers peers.PeerPicker)

RegisterPeers:该方法实现了 PeerPicker 接口的 HTTPPool 注入到 Group 中

type KeyStats

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

KeyStats:Key的统计信息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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