我正在开发一个应用程序,其中将显式使用内存缓存与Google Appengine的NDB库一起使用。我想要这样的东西。
1)从数据存储区获取100条记录,并将它们放入内存缓存中。
2)现在,只要用户想要这些记录,我都会从内存缓存中获取这些记录,而不是从数据存储中获取。
3)如果数据存储中有新记录,我将使内存缓存无效,然后用101条记录填充内存缓存。
我正在考虑一种比较内存缓存和数据存储中记录数量的方法,如果存在差异,我将更新内存缓存。
但是,如果我们看到NDB的文档,那么我们只能通过检索所有记录来获得计数,而这并不是必需的,因为这样不会避免数据存储区查询。
有人帮助吗?还是我可以采用的任何其他方法?
谢谢。
答案 0 :(得分:0)
您可以给每个记录一个创建时间戳,而不是依赖计数,并将最新的时间戳保存在内存缓存中。然后查看是否有新记录,只需要检查是否有比此新的时间戳,就可以假设您在该字段上有索引是一个非常快速的查询。