FreeCacheGo 语言的缓存库
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 个。
评论
FreeCacheGo 语言的缓存库
FreeCache是一个Go语言的缓存库,无额外的GC负荷。数百万对象的垃圾收集延迟仅在数百毫秒。特性:可存储数以百万计条目零垃圾收集负荷高并发而且线程安全的访问纯Go语言实现支持对象失效近乎LRU的
FreeCacheGo 语言的缓存库
0
requests-cacheRequests 的缓存库
requests-cache 是为 Python 的 Requests 库提供了持久化缓存支持的 P
requests-cacheRequests 的缓存库
0
requests-cacheRequests 的缓存库
requests-cache是为Python的Requests库提供了持久化缓存支持的Python模块。示例代码:import requestsimport requests_cacherequest
requests-cacheRequests 的缓存库
0
go-cacheGo 语言的缓存框架
go-cache是Go语言实现的一个内存中的缓存框架,实现Key-Value的序列存储。示例代码:import "github.com/pmylund/go-cache"// Create a cac
go-cacheGo 语言的缓存框架
0