考虑以下两种选择。
A)将密钥存储在结构中。
type Point struct {
Place *datastore.Key
Lat float64
Lon float64
}
然后使用密钥获取:
place := new(Place)
if err := datastore.Get(c, k, point.Place); err != nil {
return err
}
B)存储ID
type Point struct {
Place int64
Lat float64
Lon float64
}
然后在创建密钥后获取。
k := datastore.NewKey(c, "Place", "", point.Place, nil)
place := new(Place)
if err := datastore.Get(c, k, place); err != nil {
return err
}
存储密钥而不是ID会占用更多空间。为了进行权衡,最好了解一下创建密钥需要多少资源。换句话说,创建密钥真的便宜吗,还是一次创建并存储它更好?
使用单个键,可能没什么大不了,但是假设我获取了一个点列表,并且对于每个点,我都希望检索该位置(即,遍历这些点以构建键数组,并获取它们)。
编辑:我不是在考虑在这里分配ID或键,而只是在使用它们(即所有点和位置都已在数据存储区中,问题是是否存储ID或整个键)。
蓝山帝景
森林海
慕桂英4014372
相关分类