Google app engine 如何设置创建缓存和可能的请求超时的谷歌云应用程序?
我有RSS提要第三方网站,它创建缓存,缓存存储在缓存文件夹中。每个请求第一次需要25-40秒,之后从缓存服务9-10分钟 问题1:GAE不提供对文件系统的写入。那么我应该如何提供缓存呢 问题2:缓存超时后,每次请求都需要25-40秒。我应该如何处理这个问题 有没有办法解决这个问题,或者我需要使用谷歌计算引擎来提供这两种功能Google app engine 如何设置创建缓存和可能的请求超时的谷歌云应用程序?,google-app-engine,google-compute-engine,Google App Engine,Google Compute Engine,我有RSS提要第三方网站,它创建缓存,缓存存储在缓存文件夹中。每个请求第一次需要25-40秒,之后从缓存服务9-10分钟 问题1:GAE不提供对文件系统的写入。那么我应该如何提供缓存呢 问题2:缓存超时后,每次请求都需要25-40秒。我应该如何处理这个问题 有没有办法解决这个问题,或者我需要使用谷歌计算引擎来提供这两种功能 我读过有关这方面的文章,但没有直接回答我的问题。在这里张贴前2天被困在这里。谢谢。您只需在HTTP响应中发回必要的缓存头,就可以在Appengine上进行缓存 使用a查询用户
我读过有关这方面的文章,但没有直接回答我的问题。在这里张贴前2天被困在这里。谢谢。您只需在HTTP响应中发回必要的缓存头,就可以在Appengine上进行缓存
使用a查询用户请求之外的下一个结果,并准备要在数据存储和/或memcache中提供的新数据。随后的用户请求可以快速提供最新的可用数据,而无需设置延迟。在NDB数据存储中使用a,而不是使用文件系统存储文本。给它一个唯一的密钥,以便将来可以请求它 这也解决了缓存问题。通过其密钥请求实体将使用内置的,或者如果它不在缓存中,则将从数据存储中获取它 然后添加一个cron作业,每十分钟左右更新一次数据存储
class RssFeed(ndb.Model):
KEY = 'RSS'
cache = TextProperty()
last_updated = DateTimeProperty(auto_now=True)
@classmethod
def update(cls):
# insert your code to fetch from the RSS feed
# cache = ...
rss_feed = cls.get_or_insert(key=self.KEY)
rss_feed.cache = cache
rss_feed.save()
@classmethod
def fetch(cls):
rss_feed = cls.get_by_id(self.KEY)
return rss_feed.cache
调用RssFeed.update以在需要缓存数据时更新缓存和RssFeed.fetch