有没有办法知道存储在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