Golang Go语言 Theine v0.3.0 发布,新增 DRAM + NVM 混合缓存模式

Theine: https://github.com/Yiling-J/theine-go

如果你对缓存比较熟悉,肯定听说过 Meta 的 CacheLib 。CacheLib 广泛应用在 Meta 的各类服务中,并且 Meta 内部 RocksDB 的 secondary cache 用的也是 CacheLib 。CacheLib 的一个非常重要的功能就是 Hybrid Cache ,简单来说就是把从 DRAM 驱逐出来的数据再次存入 NVM 设备中。

Theine v0.3.0 添加的 Hybrid Cache 功能就是参照了 CacheLib 的 Hybrid Cache 。通过 BigHash 和 Block Cache 两种数据结构来处理不同大小的数据。由于 Theine 本身采用了自适应 Window-TinyLFU 策略, 因此能确保各种模式的 workload 下 DRAM 部分都能有着较好的命中率,提高了整个混合缓存系统的总体性能。

稍后我会写篇文章详细介绍一下。这里先放上 CacheLib Hybrid Cache 的架构介绍,有兴趣的可以看看: Navy Overview

Theine 的目标是成为 Go 最强缓存框架,现在已经有一些用户以及开源项目在实际使用 Theine 了, 欢迎大家试用。如果有什么功能需求我觉得合理也会尽快加上。觉得不错欢迎点个 star!


Golang Go语言 Theine v0.3.0 发布,新增 DRAM + NVM 混合缓存模式

更多关于Golang Go语言 Theine v0.3.0 发布,新增 DRAM + NVM 混合缓存模式的实战教程也可以访问 https://www.itying.com/category-94-b0.html

2 回复

顺带打个小广告,最近接手了 go-txdb ( https://github.com/DATA-DOG/go-txdb) 的维护工作,有需要写涉及数据库的集成测试的同学可以试一试

更多关于Golang Go语言 Theine v0.3.0 发布,新增 DRAM + NVM 混合缓存模式的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


针对“Golang Go语言 Theine v0.3.0 发布,新增 DRAM + NVM 混合缓存模式”的帖子,作为IT营GO语言方面的专家,以下是我的回复:

Theine v0.3.0 版本的发布,标志着其在缓存技术上的又一重要进步。新增的DRAM + NVM混合缓存模式,无疑为Go语言的应用场景提供了更为丰富的选择和性能优化。

DRAM(动态随机存取存储器)以其高速读写能力著称,但受限于成本和容量;而NVM(非易失性存储器)则具备持久化存储和数据保留的特性,同时也在性能上不断逼近DRAM。Theine v0.3.0将这两者结合,旨在实现高速缓存与持久化存储的优势互补。

这一混合缓存模式的应用,将使得Go语言在处理高并发、大数据量等复杂场景时,能够更高效地利用系统资源,提升整体性能。同时,它也为开发者提供了更为灵活的缓存管理策略,可以根据实际应用需求进行定制化配置。

综上所述,Theine v0.3.0新增的DRAM + NVM混合缓存模式,无疑为Go语言的发展注入了新的活力,也为其在更多领域的应用提供了有力支持。期待Theine在未来能够继续推出更多创新功能,为Go语言社区带来更多惊喜。

回到顶部