3_http_server

command
v0.0.0-...-e716e59 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2022 License: MIT Imports: 4 Imported by: 0

README

Group 是 TinyCache 最核心的数据结构,负责与用户的交互,并且控制缓存值存储和获取的流程。

tinyCache.go 中实现主体结构 Group

// A Group is a cache namespace and associated data loaded spread over
// 一个 Group 可以认为是一个缓存的命名空间
type Group struct {
	// 每个 Group 拥有一个唯一的名称 name
	// 比如可以创建三个 Group,缓存学生的成绩命名为 scores,缓存学生信息的命名为 info,缓存学生课程的命名为 courses
	name string
	// 缓存未命中时获取源数据的回调(callback)
	getter Getter
	// 之前实现的并发缓存
	mainCache cache
}
                           是
接收 key --> 检查是否被缓存 -----> 返回缓存值 ⑴
                |       
                |  否                        是
                |-----> 是否应当从远程节点获取 -----> 与远程节点交互 --> 返回缓存值 ⑵
                            |  
                            |  否
                            |-----> 调用`回调函数`,获取值并添加到缓存 --> 返回缓存值 ⑶

TinyCache 的代码结构的雏形如下:

tinyCache/
    |--lru/
        |--lru.go  // lru 缓存淘汰策略
    |--byte_view.go // 缓存值的抽象与封装
    |--cache.go    // 并发控制
    |--tinyCache.go // 负责与外部交互,控制缓存存储和获取的主流程
    |--http.go     // 提供被其他节点访问的能力(基于http)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
lru

Jump to

Keyboard shortcuts

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