2014-08-29 141 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

相关问题