2014-08-29 142 views

回答

1

正如jdavidbakr指出的,沒有辦法通知。

如果您使用的是python,memcache的最佳實踐是使用ndb(因爲ndb在推送到數據存儲之前已經檢查了memcache,所以如果memcache具有請求的數據,它會觸發memcache)。

如果您使用的語言不具有ndb,我會建議使用taskqueues將數據插入數據存儲(即:「將實體push到memcache並創建任務隊列以推送到數據存儲」)。對於檢索,您首先查看memcache,如果實體不在memcache中,則轉向數據存儲。如果您必須訪問數據存儲以獲取數據,請將其推回到memcache。

+0

更改接受的答案,任務隊列將幫助我 – Chanakya 2014-08-29 22:02:08

3

如果存在,我會非常驚訝,memcache被設計爲一個臨時數據存儲,用於緩存來自其他數據源的數據。通常情況下,memcache的使用方式是當你需要訪問數據時,首先檢查memcache,然後如果未找到,則檢查持久性存儲。在更新中,除了持久性存儲之外,還可以將更新的值存儲在memcache中,或者刪除memcache值並僅將其存儲在永久數據存儲中,然後在下一次數據檢索時將其從永久存儲中取出呼叫。有了這個範例,您應該始終期望memcache可能包含或不包含您的數據。

+0

爲什麼不按我指出的使用任務隊列?更容易尊重1分鐘的截止日期,不是嗎? – Patrice 2014-08-29 21:59:38

+0

好吧我看到了,我希望將它用作減少對數據存儲的命中的一種方法,作爲可以經常更新的實體的節約成本的事情,但是必須多考慮一下我的設計。 – Chanakya 2014-08-29 22:00:09

+0

@chanakya那麼你會最終擊中數據存儲區,因爲SOMETIMES數據將在memcache中。事先很難知道,所以推向數據存儲是一種「良好的做法」。請記住,如果您在memcache中找到數據,則無需訪問數據存儲,因此您將節省這些成本 – Patrice 2014-08-29 22:03:48

相關問題