2014-09-02 83 views
0

Google对共享内存缓存中memcache条目何时可能过期的含义非常模糊。这是完全可以理解的,因为它是免费和共享的,但是有没有人对我的条目在从共享缓存中删除之前可能存在的时间有任何实际指导? 1小时? 1天? 1周? 1个月?GAE“尽力而为”内存缓存通常持续多长时间?

我打算存储一些会话令牌,并试图找出会话可以重新访问多长时间。

+0

您可以在这里找到的解答: http://stackoverflow.com/questions/2649747/how-often-does-memcache-on-google-appengine-lose-data/39140823#39140823 – cat 2016-08-25 09:05:57

回答

0

我已经诚实地看到了memcache持续了一天,最多只有一个小时....而且我从未主动监控过memcache,所以如果您在memcache中拥有更大或更小的时间范围,我不会感到惊讶。

这真的很难说,因为(我猜)它取决于您的实例使用的计算机的内部使用情况以及其他计算机需要多少资源。

不幸的是,这个问题还没有真正的答案:代码防御性,总是检查memcache,然后如果你没有在memcache中找到你的数据,你从永久数据(数据存储我猜?或云存储)然后将其推回到memcache以供下次使用

1

memcache可以随时丢弃所有数据。你无法真正相信到期时间。

根据Google的说法,即使没有或使用memcache,您的应用程序也必须正常工作。 memcache只是一个优点,可以避免进行大量数据存储查询并正确管理您的配额。

对你而言,memcache不是存储会话标记的地方。 如果您使用Python,则可以使用webapp2会话。 AppEngine的功能非常棒。

+0

感谢回答,但这不回答这个问题。我知道Google party有关memcache可用性的一行,但我正在寻找关于GAE memcache中实际存在多长时间的真实世界体验。 – 2014-09-03 15:49:24

+0

我回答了你最后一句话。有时项目会在1小时后过期,有时在1天后过期。 – 2014-09-03 19:47:51