我使用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中是關鍵! –