使用App Engine存储的字符串的最大长度?

时间:2012-10-07 03:29:41

标签: java google-app-engine objectify

使用App Engine存储String字段时:

  • App Engine length()的最大String是多少? 数据存储可以处理?
  • 此外,如果使用Objectify,这个最大长度是相同的还是Objectify会影响这个最大长度?

4 个答案:

答案 0 :(得分:9)

Objectify会自动将超过500个字符的字符串转换为本机文本存储。如果要索引字符串,请小心;文本对象未编入索引,因此String> 500个字符将无法索引。

答案 1 :(得分:5)

我认为对这个的回复已经过时了,所以我正在更新。我正在使用GAE版本1.9.22并在错误日志中收到此信息:

字符串属性必须 1500 字节或更少。相反,请使用com.google.appengine.api.datastore.Text,它可以存储任意长度的字符串。

使用com.google.appengine.api.datastore.Text可以很好地将String对象转换为Text(例如,代码的服务器端上的新Text(thisString))。 com.google.appengine.api.datastore。*中的库不能在客户端工作。找不到类。

答案 2 :(得分:4)

the documentation个,500个字符。不,Objectify是一个包装器,不会修改您的数据,因此数据大小限制不变。

答案 3 :(得分:0)

根据2016年10月对Google Datastore文档的更新,以下是限制

  

索引字符串属性的最大大小&n; UTF-8编码:1,500字节

     

未索引属性的最大大小:1,048,487字节(1 MiB - 89字节)

因此,您可以在未编入索引的String属性中存储大小接近1MB的字符串。