文件名称:Go语言的缓存库FreeCache.zip
文件大小:16KB
文件格式:ZIP
更新时间:2022-08-05 21:56:03
开源项目
FreeCache 是一个 Go 语言的缓存库,无额外的 GC 负荷。数百万对象的垃圾收集延迟仅在数百毫秒。特性:可存储数以百万计条目零垃圾收集负荷高并发而且线程安全的访问纯 Go 语言实现支持对象失效近乎 LRU 的算法严格限制内存使用提供一个测试用的服务器,支持一些基本 Redis 命令示例代码:cacheSize := 1024*1024 cache := freecache.NewCache(cacheSize) key := []byte("abc") val := []byte("def") expire := 60 // expire in 60 seconds cache.Set(key, val, expire) got, err := cache.Get(key) if err != nil { fmt.Println(err) } else { fmt.Println(string(got)) } affected := cache.Del(key) fmt.Println("deleted key ", affected) fmt.Println("entry count ", cache.EntryCount())注意事项:推荐使用 Go 1.4 版本内存是预先分配的如果你分配的内存非常大,那么应该设置 debug.SetGCPercent() 到一个很小的比例来获得正常的 GC 频率FreeCache 通过减少指针的数量来避免 GC 符合,不管对象有多少,指针最多 512 个。 标签:FreeCache
【文件预览】:
freecache-master
----ringbuf.go(5KB)
----.travis.yml(102B)
----ringbuf_test.go(720B)
----LICENSE(1KB)
----cache.go(7KB)
----README.md(3KB)
----segment.go(11KB)
----cache_test.go(16KB)
----server()
--------main.go(6KB)
----iterator.go(2KB)