在GAE中更高效地存储无需索引的数组

标签:Google App Engine, Python, 性能

今天在GAE论坛看到有人说ListProperty太慢了,即使加上indexed=False也非常慢,而用pickle技术保存成Blob类型就会快10倍。

对于这点,Nick Johnson提到了《Store arrays of numeric values efficiently in the datastore》这篇文章。
他的解释是ListProperty会将其中的每个元素编码成一个独立的属性,并多次对其进行序列化,所以会造成很大的开销。
而pickle虽然可以让其只保存成一个元素,但兼容性可能并不好,也不是特别高效。

原来一个账号可以创建超过10个app

标签:Google App Engine

本来还想用父母的手机去多申请一些配额,没想到在GAE论坛里看到了这句:
If you run out of App IDs, you can leave a message here on the forum, and one of us Googlers will increase the number of apps you can create.

-Nick Johnson
哇哈哈,还是免费的~

XMPP应用:用Google App Engine搭建聊天机器人

标签:Google App Engine, Python

今天Google App Engine SDK 1.2.5的发布,带来了XMPP这个好玩的API,于是我立刻拿来尝鲜了。

API其实非常简单,主要是要了解XMPP是什么。但我懒得解释了,感兴趣的就去Google一下或看这几篇XMPP正式RFC标准文档吧。
由于Google Talk是基于这个协议的,而且GAE的XMPP API专门提供了在线查询功能,所以自然就用它了。

Google App Engine SDK 1.2.5发布:支持XMPP!

标签:Google App Engine

先说句闲话,这次的1.2.5版同时包含Python和Java(Java一下跳了3个版本)…

半年前就有人在JaikuEngine的源代码里发现了XMPP的身影,直到今天终于正式发布了~
不清楚XMPP是什么的,可以去Google一下,我这就不做介绍了。和传闻不一样,这次的XMPP不是“阉割”过的(不只限于Google Talk和Google Wave),你可以与任何XMPP协议的聊天工具交流。
XMPP API的使用也非常简单,仍然是采用标准的HTTP协议。(例如接收消息是POST方法。)
此外,这只是XMPP API发布的第一个版本,未来将会提供更多的功能。

在GAE中为SearchableModel指定索引属性集

标签:Google App Engine, Python

几个月前就介绍过这个隐藏的API,但由于不太好用,所以放弃了。
昨天Google更新了这个API,可以自定义索引的属性集,可以定义多条索引,可以指定搜索时使用的索引,算是弥补了一大不足。(之前强制索引所有字符串类型,浪费磁盘空间且降低性能。)

« 看看还有什么好玩意