0
我在gae的google搜索API中使用了memcache和數據存儲索引。一個實際的問題是如何在實體被刪除後刷新數據存儲索引,因爲它看起來該實體仍然在索引中,儘管它已被刪除。如果memcache和index start包含「相同」數據集的非常不同的內容,即可以從memcache,數據存儲區索引或數據存儲區往返顯示的實體列表,應該如何處理更假設的場景?當緩存和數據庫索引變得非常不同時該怎麼辦?
我在gae的google搜索API中使用了memcache和數據存儲索引。一個實際的問題是如何在實體被刪除後刷新數據存儲索引,因爲它看起來該實體仍然在索引中,儘管它已被刪除。如果memcache和index start包含「相同」數據集的非常不同的內容,即可以從memcache,數據存儲區索引或數據存儲區往返顯示的實體列表,應該如何處理更假設的場景?當緩存和數據庫索引變得非常不同時該怎麼辦?
對於第一個問題,我會建議使用實體的密鑰作爲doc_id索引,並且由於您對文檔有參考,因此您可以在pre_delete_hook中使用delete。通過這種方式,您還可以隨時更新數據,因爲將新的文檔與現有的doc_id添加到索引中會導致覆蓋現有的文檔。 (例如,創建相應搜索文檔的post_put_hook) 對於第二種情況,最好確保您不會遇到這種情況,而不是試圖通過更新來補救它。