计算NDB库中记录数的最佳方法

时间:2018-11-17 09:52:22

标签: django python-2.7 nosql app-engine-ndb google-app-engine-python

我正在开发一个应用程序,其中将显式使用内存缓存与Google Appengine的NDB库一起使用。我想要这样的东西。

1)从数据存储区获取100条记录,并将它们放入内存缓存中。

2)现在,只要用户想要这些记录,我都会从内存缓存中获取这些记录,而不是从数据存储中获取。

3)如果数据存储中有新记录,我将使内存缓存无效,然后用101条记录填充内存缓存。

我正在考虑一种比较内存缓存和数据存储中记录数量的方法,如果存在差异,我将更新内存缓存。

但是,如果我们看到NDB的文档,那么我们只能通过检索所有记录来获得计数,而这并不是必需的,因为这样不会避免数据存储区查询。

有人帮助吗?还是我可以采用的任何其他方法?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以给每个记录一个创建时间戳,而不是依赖计数,并将最新的时间戳保存在内存缓存中。然后查看是否有新记录,只需要检查是否有比此新的时间戳,就可以假设您在该字段上有索引是一个非常快速的查询。