0

我需要检查是否存在某些单词(或单词前缀),最好的方法是构建一个 Trie,但这在 GAE 上并不容易,它应该留在内存中(或者我每次查找时都必须构建它一些字符串),我不知道如何在 GAE 上实现它。

理想的结果是,在应用程序启动时构建一个 Trie,并在应用程序运行时保留它。

我尝试将所有单词和前缀存储在大表中,但性能不佳。

4

2 回答 2

1

您可能会考虑使用后端来保存数据。

后端是特殊的 App Engine 实例,它们没有请求期限、更高的内存和 CPU 限制以及跨请求的持久状态。它们由 App Engine 自动启动,可以长时间连续运行。每个后端实例都有一个用于请求的唯一 URL,您可以跨多个实例对请求进行负载平衡。

后端可以处理来自用户或应用程序其他部分的 HTTP 请求,在后台连续启动和运行,或者由任务队列任务或 Cron 作业驱动。 https://developers.google.com/appengine/docs/python/backends/

于 2012-10-23T13:27:03.157 回答
0

您可以使用实例内存来保存 trie 并使用 Python 对象构建它。

请参阅这篇文章: http: //blog.notdot.net/2010/11/Storage-options-on-App-Engine以及存储 trie 的其他选项。

于 2012-10-23T13:12:43.383 回答