有沒有辦法知道存儲在memcache中的實體何時將被刪除?爲了將其保存到更永久的數據存儲中。當memcache中的實體即將被刪除時,有沒有辦法通知?
回答
正如jdavidbakr指出的,沒有辦法通知。
如果您使用的是python,memcache的最佳實踐是使用ndb(因爲ndb在推送到數據存儲之前已經檢查了memcache,所以如果memcache具有請求的數據,它會觸發memcache)。
如果您使用的語言不具有ndb,我會建議使用taskqueues將數據插入數據存儲(即:「將實體push到memcache並創建任務隊列以推送到數據存儲」)。對於檢索,您首先查看memcache,如果實體不在memcache中,則轉向數據存儲。如果您必須訪問數據存儲以獲取數據,請將其推回到memcache。
如果存在,我會非常驚訝,memcache被設計爲一個臨時數據存儲,用於緩存來自其他數據源的數據。通常情況下,memcache的使用方式是當你需要訪問數據時,首先檢查memcache,然後如果未找到,則檢查持久性存儲。在更新中,除了持久性存儲之外,還可以將更新的值存儲在memcache中,或者刪除memcache值並僅將其存儲在永久數據存儲中,然後在下一次數據檢索時將其從永久存儲中取出呼叫。有了這個範例,您應該始終期望memcache可能包含或不包含您的數據。
爲什麼不按我指出的使用任務隊列?更容易尊重1分鐘的截止日期,不是嗎? – Patrice 2014-08-29 21:59:38
好吧我看到了,我希望將它用作減少對數據存儲的命中的一種方法,作爲可以經常更新的實體的節約成本的事情,但是必須多考慮一下我的設計。 – Chanakya 2014-08-29 22:00:09
@chanakya那麼你會最終擊中數據存儲區,因爲SOMETIMES數據將在memcache中。事先很難知道,所以推向數據存儲是一種「良好的做法」。請記住,如果您在memcache中找到數據,則無需訪問數據存儲,因此您將節省這些成本 – Patrice 2014-08-29 22:03:48
- 1. 有沒有辦法知道自定義通知即將顯示?
- 2. 當IndexedDB ObjectStore中的對象被插入/更新/刪除時,有沒有辦法通知?
- 3. 有沒有辦法跟蹤已經刪除的實體?
- 4. 有沒有辦法檢測通知欄是否已被清除?
- 5. 沒有ReferenceProperty的memcache實體
- 6. 有沒有辦法在Windows XP上即時刪除文件?
- 7. 當clojure未來完成時,有沒有辦法通知?
- 8. 有沒有辦法從Scala中的實例中刪除特質?
- 9. 當用戶花費通知時,有沒有辦法更改通知標題?
- 10. 有沒有辦法訪問通知中心顯示的通知?
- 11. 有沒有辦法知道在iOS中刪除應用程序的時間?
- 12. 當GAE實例即將終止時是否有通知?
- 13. 有沒有辦法刪除FILE_FLAG_DELETE_ON_CLOSE?
- 14. 當我使用NHibernate刪除記錄時,是否有辦法刪除所有外部實體?
- 15. 有沒有辦法刪除單個實體的更改跟蹤機制?
- 16. 當通知被點擊時,通知頁面沒有出現
- 17. 有沒有辦法知道uitableview上的索引何時被實際使用?
- 18. 當用戶在wxStyledTextCtrl中進行更改時,有沒有辦法通知?
- 19. 有沒有辦法刪除通知/狀態欄,但不是在onCreate?
- 20. Linq-to-SQL最佳實踐:刪除的實體沒有真正被刪除
- 21. 有沒有辦法訪問Skype即時通訊日誌?
- 22. 當viewWillDisappear出現時,有沒有辦法通知屏幕上的每個UITableViewCell?
- 23. 有沒有辦法知道何時從Windows Server 2003刪除文件夾
- 24. Git行在沒有通知的情況下被刪除
- 25. 有沒有辦法來檢測DOM節點何時將從DOM中刪除?
- 26. 有沒有辦法暫時隱藏或禁用單向通知?
- 27. 有沒有辦法在nohup任務開始時發生通知?
- 28. 實體管理器沒有辦法getCriteriaBuilder()
- 29. 當列表框中有一個項目被刪除時收到通知?
- 30. angularJS通知當元素被刪除
更改接受的答案,任務隊列將幫助我 – Chanakya 2014-08-29 22:02:08