Nat*_*ate 12 dictionary map go gob
我将创建一个或多或少形式的结构:
type FileState struct {
LastModified int64
Hash string
Path string
}
Run Code Online (Sandbox Code Playgroud)
我想将这些值写入文件并在后续调用中读取它们.我最初的计划是使用密钥(Path)将它们读入地图并查找值(Hash和LastModified).在Go中有这样一种光滑的方式吗?
如果没有,您可以推荐哪种文件格式?我在以前的项目中读过并试验过一些键/值文件存储,但没有使用Go.现在,我的要求可能相当简单,因此大型数据库服务器系统会过度.我只想要一些我可以快速,轻松,便携地阅读和阅读的内容(Windows,Mac,Linux).因为我必须在多个平台上部署,所以我试图将我的非依赖性依赖性保持在最低限度.
我考虑过XML,CSV,JSON.我简单地看了Go中的gob包并注意到Go包仪表板上有一个BSON包,但我不确定是否适用.
我的主要目标是快速启动和运行,这意味着我需要编写的代码量最少,易于部署.
tux*_*21b 10
只要您的entiere数据适合内存,就不会有问题.使用内存映射并定期将快照写入磁盘(例如使用gob软件包)是一个好主意.Andrew Gerrand 的Practical Go Programming讲话使用了这种技术.
如果您需要使用不同的程序访问这些文件,使用像json或csv这样的流行编码可能是个好主意.如果您只需要从Go中访问这些文件,我会使用优秀的gob包,它具有许多不错的功能.
一旦数据变大,在每次更改时始终将整个数据库写入磁盘并不是一个好主意.此外,您的数据可能不再适合RAM.在这种情况下,您可能需要查看另一个Go开发人员Nigel Tao 的leveldb键值数据库包.它目前正在积极开发(但尚未使用),但它也将提供一些高级功能,如事务和自动压缩.此外,由于leveldb设计,读/写吞吐量应该非常好.
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |