只要您的整个数据都可以存储在内存中,就不会有问题。使用内存映射并定期(例如使用
gob软件包)将快照写入磁盘是一个好主意。Andrew
Gerrand撰写的实用Go编程讲座使用了这种技术。
如果您需要使用其他程序访问这些文件,则使用流行的编码(例如json或csv)可能是个好主意。如果您只需要从Go中访问这些文件,我将使用出色的gob软件包,它具有很多不错的功能。
数据变大后,每次更改时始终将整个数据库写入磁盘并不是一个好主意。另外,您的数据可能不再适合RAM。在这种情况下,您可能想看看另一个Go开发人员Nigel
Tao 的leveldb键值数据库包。它目前正在积极开发中(但尚未使用),但还将提供一些高级功能,例如事务处理和自动压缩。而且,由于leveldb的设计,读/写吞吐量应该非常好。



