我使用GAE NDB数据存储的最新10条记录生成RSS提要。数据库中的记录每周更新一次。每次用户请求RSS提要显示时,如何避免查询数据存储?即如何缓存?如何缓存RSS提要?
0
A
回答
2
您可以使用memcache避免每次访问数据存储。你可能知道查询不会缓存在NDB中。
https://developers.google.com/appengine/docs/python/memcache/usingmemcache
def get_data():
data = memcache.get('key')
if data is not None:
return data
else:
data = self.query_for_data()
memcache.add('key', data, 60)
return data
所以,换句话说,试图从内存缓存让您的数据,如果失败从数据库中获取它,然后将其添加到内存缓存为下一次轮。
上面的示例使用60秒超时(在.add调用中的值为60)只要memcache允许,只需将该参数留出即可让数据保持不变。
从一个类似的问题另外:NDB Caching When Using Projected Queries
key.get()将被缓存在高速缓存中检索,但query.get()不会从缓存中检索。 https://developers.google.com/appengine/docs/python/ndb/cache
从文档:查询不查找任何缓存中的值。但是,如果高速缓存策略如此说明(但从不到Memcache),则查询结果将写回到上下文高速缓存中。
因此,如果您通过密钥获取,您将自动从NDB缓存中获取数据(如果可用),但我没有亲自使用过它。
因此,构建您的RSS内容,并在渲染之前将其保存到memcache中。然后,当您更新其创建的内容时,只需使缓存版本无效(请参阅文档),以便下一个请求将从数据存储中获取该内容,然后将其放回缓存中。
相关问题
- 1. 如何缓存rss提要?
- 2. RSS提要Genarator缓存使用清漆
- 3. 使用PHP缓存RSS提要?
- 4. 如何阻止Wordpress返回缓存的RSS提要?
- 5. 如何在Rails 4.0中缓存解析的RSS提要?
- 6. 如何缓存OData提要?
- 7. 如何缓存要在网站上显示的RSS提要数据?
- 8. 如何从rss URL读取RSS提要?
- 9. 如何创建RSS提要?
- 10. 如何归档RSS提要?
- 11. 如何创建RSS提要?
- 12. PHP RSS缓存
- 13. sitecore RSS缓存
- 14. 为Twitter rss提要生成缓存文件
- 15. Youtube RSS提要
- 16. RSS提要
- 17. 从RSS提要
- 18. RSS提要提交软件如何提交提要?
- 19. 自动将RSS提要提交至RSS提要目录
- 20. 用于存储RSS提要的DBMS
- 21. RSS提要字幕
- 22. 解析RSS提要
- 23. 在RSS提要PHP
- 24. 搜索RSS提要
- 25. RSS提要显示
- 26. Linq to RSS提要?
- 27. 如何使用JSON创建RSS提要?
- 28. 如何解析嵌套的RSS提要?
- 29. 如何动态创建rss提要?
- 30. 如何使用volley解析rss提要?
谢谢! '构建你的RSS内容,并且在渲染之前,将它保存到memcache中是关键! –