go开源cache2go项目蛤蟆笔记——简单使用-
来源:互联网 发布:床约软件靠谱吗 编辑:程序博客网 时间:2024/05/21 16:11
1 下载开源
下载路径:https://github.com/muesli/cache2go
2 代码如下:
packagemain
import(
"fmt"
"time"
"cache2go-master"
)
//Keys&valuesincache2gocanbeoffarbitrarytypes,e.g.astruct.
typemyStructstruct{
text string
moreData[]byte
}
funcmain(){
//Accessinganewcachetableforthefirsttimewillcreateit.
cache:=cache2go.Cache("myCache")
//Wewillputanewiteminthecache.Itwillexpireafter
//notbeingaccessedviaValue(key)formorethan5seconds.
val:=myStruct{"Thisisatest!",[]byte{}}
cache.Add("someKey",5*time.Second,&val)
//Let'sretrievetheitemfromthecache.
res,err:=cache.Value("someKey")
iferr==nil{
fmt.Println("Foundvalueincache:",res.Data().(*myStruct).text)
}else{
fmt.Println("Errorretrievingvaluefromcache:",err)
}
//Waitfortheitemtoexpireincache.
time.Sleep(6*time.Second)
res,err=cache.Value("someKey")
iferr!=nil{
fmt.Println("Itemisnotcached(anymore).")
}
//Addanotheritemthatneverexpires.
cache.Add("someKey",0,&val)
//cache2gosupportsafewhandycallbacksandloadingmechanisms.
cache.SetAboutToDeleteItemCallback(func(e*cache2go.CacheItem){
fmt.Println("Deleting:",e.Key(),e.Data().(*myStruct).text,e.CreatedOn())
})
//Removetheitemfromthecache.
cache.Delete("someKey")
//Andwipetheentirecachetable.
cache.Flush()
}
3 执行如下
Found value in cache: Thisis a test!
Item is not cached(anymore).
Deleting: someKey This is a test! 2016-07-12 16:31:57.0289334 +0800 CST
查看原文:http://www.zoues.com/2016/10/20/go%e5%bc%80%e6%ba%90cache2go%e9%a1%b9%e7%9b%ae%e8%9b%a4%e8%9f%86%e7%ac%94%e8%ae%b0-%e7%ae%80%e5%8d%95%e4%bd%bf%e7%94%a8/
- go开源cache2go项目蛤蟆笔记——简单使用-
- 1.go开源cache2go项目笔记——简单使用-
- 2.go开源cache2go项目笔记——项目介绍
- 3.go开源cache2go项目笔记——cachetable文件
- 5.go开源cache2go项目笔记——cache文件
- 4.go开源cache2go项目笔记——cacheitem文件
- 6.go开源cache2go项目笔记——cache_test文件
- 7.go开源cache2go项目笔记——benchmark_test文件
- 8.go开源cache2go项目笔记——callbacks调用
- 9.go开源cache2go项目笔记——dataloader调用
- 10.go开源cache2go项目笔记——mycachedapp调用
- 54.蛤蟆笔记go语言——interface使用1
- 14.go开源groupcache项目笔记——peers代码
- 15.go开源groupcache项目笔记——sinks代码
- 4.go开源groupcache项目笔记——关于strconv
- 5.go开源groupcache项目笔记——关于testing
- 6.go开源groupcache项目笔记——consistenthash_test代码
- 8.go开源groupcache项目笔记——groupcachepb代码
- SSDT的例子1-inlineHook的jmp验证
- 2016年收入最高的5个编程语言
- 为什么游戏引擎大多选择使用 C++ 而不是 C 开发?
- linux常用的内核参数的设置
- Java—IO流详解(一)
- go开源cache2go项目蛤蟆笔记——简单使用-
- WE WANT U ┃中天微 国防科技大学2017届硕士专场校园宣讲会
- 基于ARM的智能灯光控制系统(8)设备添加
- 极客们都在关注:将会改变未来IT世界的十种编程语言!
- OpenCV 1.x & 2.x 编程简介(矩阵/图像/视频的基本读写操作)
- 热招职位-技术篇
- python的标准库思维导图
- 数据结构--遍历二叉树
- HTTP和HTTPS详解