我有10,000个双值的数组,我想存储在JAVA appengine数据存储中。我不需要查询任何值,只需要存储所有值并检索所有值。在数据存储中表示此数据的最佳方法是什么。我将始终需要整个数组或根本不需要(不是10,000个值的子集)。
我目前的想法是将其存储为blob数据 - 任何其他视图?
答案 0 :(得分:1)
如果您不需要按值查询,请将其序列化并将其存储在text或blob属性中。与ListProperty相比,它将为您节省大量开销。我建议使用哪种序列化方法最适合你正在做的事情,例如JSON,如果你只是将它返回给客户端。
class T(db.Model):
prop = db.ListProperty(int)
print db.model_to_protobuf(T(prop=[1, 2, 3]))
# result:
key <
app: "testapp"
path <
Element {
type: "T"
id: 0
}
>
>
entity_group <
>
property <
name: "prop"
value <
int64Value: 1
>
multiple: true
>
property <
name: "prop"
value <
int64Value: 2
>
multiple: true
>
property <
name: "prop"
value <
int64Value: 3
>
multiple: true
>