我正在考虑在Go中实现一个内存缓存守护进程。它有可能获得一些严重的内存利用率(比如Terabyte)。分割成单独的堆不是一个好的选择,我希望它在一个内存空间中。有没有人有这么大的内存大小运行Go的经验? GC是否会表现得令人满意?
答案 0 :(得分:3)
我正在尝试做同样的事情但是唯一能让我获得良好性能缓存数据的项目是二叉树https://github.com/stathat/treap m,它在一台机器Ubuntu 12.0.4中支持超过1毫米的内存节点LTS具有8 GB内存。此外,它是快速加载和搜索数据。
我测试的其他项目是LMDB,但不支持内存上的多个节点,kv,go-cache和goleveldb但没有人能够更快地从内存中恢复数据这种诡计。