如何在Java AppEngine上存储大双数组

时间:2011-02-20 00:21:18

标签: java google-app-engine

我有10,000个双值的数组,我想存储在JAVA appengine数据存储中。我不需要查询任何值,只需要存储所有值并检索所有值。在数据存储中表示此数据的最佳方法是什么。我将始终需要整个数组或根本不需要(不是10,000个值的子集)。

我目前的想法是将其存储为blob数据 - 任何其他视图?

1 个答案:

答案 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
>