5.go开源cache2go项目笔记——cache文件
就一个sync同步包
创建两个全局变量一个是cache,是MAP类型,存储的是cachetable 指针。
map 是引用类型,语法如下:
var map1 map[keytype]valuetype
[keytype] 和 valuetype 之间允许有空格,但是 gofmt 移除了空格
还有一个是mutex是 sync.RWMutex类。
该文件的包叫做:
package cache2go
返回一个已经存在的cachetable.,或者新建一个。
入参是一个字符串。
访问的时候是带锁的。
如果已经在MAP中存在,则直接返回存在的CACHE TABLE。
如果不存在则创建一个CACHETABLE返回并放到map的cache中。
一个概念如下:
CACHE变量由 CACHE TABLE 指针组成一个MAP;CACHE TABLE中包含多个ITEMS。
Cache 在文件cache.go中定义。
Cache table在文件cachetable.go文件中定义
Cache item在文件cacheitem.go文件中定义