我正在编写一个新闻应用程序,我想让我的用户从包含数十个(约 60 个)来源(《卫报》、《泰晤士报》、...)的列表中选择他们最喜欢的新闻来源。我有一个包含索引属性“源”的新闻实体,我正在寻找一种方法,可以让我绕过 App Engine 施加的 30 个子查询的限制,该限制阻止我使用 IN 和 EQUALS 过滤器来获取所有新闻这属于一大堆来源。
对于这个限制有什么解决方法吗?
Thanks
请记住,索引很昂贵 - 它们占用大量空间并成倍增加写入成本。
我会使用不同的设计。我会将源属性设置为无索引,而不是 60 个子查询(如果源列表增长到 500 会发生什么?)。然后我会加载所有最新新闻的列表并将其保存在 Memcache 中。如果您丢失了它,您可以随时重新加载。当有新闻出现时,您还可以轻松地将更多项目添加到此列表中。您还可以根据时间将此列表拆分为多个块。
现在,当用户拨打电话时,您可以轻松过滤内存中的此列表。根据您的使用量,这种设计将便宜数十倍或数千倍,并且工作速度更快。最大的区别在于,您不必为每个用户请求一遍又一遍地读取相同的实体,而是只需读取一次并为数千个请求提供服务,然后再需要再次读取它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)