- 授权协议: MIT
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/coocood/freecache
- 软件文档: https://github.com/coocood/freecache
软件介绍
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 个。
Node即学即用
[英] Tom Hughes-Croucher、[英] Mike Wilson / 郑达韡 / 人民邮电出版社 / 2013-2 / 39.00元
《Node即学即用》由休斯-克劳奇、威尔逊编著,《Node即学即用》讲解如何用Node构建可扩展因特网应用,是全面的实用指南,除了详细介绍Node提供的API外,还用大量篇幅介绍了服务器事件驱动开发的重要概念。内容涉及跨服务器的并发连接、非阻塞I/O和事件驱动的编程、如何支持各种数据库和数据存储工具、NodeAPI的使用示例等。适合对JavaScript及编程有一定程度了解的读者阅读。一起来看看 《Node即学即用》 这本书的介绍吧!
