内存中的数据以最大程度地减少数据库读取?

时间:2019-02-17 21:34:14

标签: go

您将如何在Golang中构建程序,以确保一部分数据保留在易失性内存中,并且永远不会缓存到磁盘或交换中?

我正在尝试为用户名实现布隆过滤器,以最大程度地减少磁盘读取。

参考Ensuring Secure Data Remains in Memory,我正在寻找golang中用于其他目的的解决方案。

1 个答案:

答案 0 :(得分:4)

您可以使用mlock包在Go中调用syscall syscall(及其联系)。例如,请参见https://golang.org/pkg/syscall/#Mlock

也就是说,如果您需要加密安全性(例如,确保密钥永远不会进入磁盘),那么Go垃圾收集器可能不是100%防弹的。在这种情况下,您可能需要考虑使用memguard之类的库。