【发布时间】:2018-04-12 21:36:07
【问题描述】:
我计划使用 Objectify 与 GAE Flex 的 Cloud Datastore 对话。该应用程序将运行相当多的后台线程与 Datastore 对话,对此我有几个问题。
我不打算使用任何 memcache 设置,因为这些线程将运行很长时间,我也不希望会话缓存被填满。我找不到将
ofy()设置为从不在本地缓存的方法,唯一的选择似乎是定期运行clear()操作。有没有更好的方法来避免这些缓存?正如我所见,我们需要将任何此类
ofy()调用包装在run()块中以执行清理。我想确认这是在请求范围之外使用它的唯一方法,并且没有对这些较长上下文的内置支持。
谢谢
【问题讨论】:
-
如果您不打算使用任何缓存,为什么担心会话缓存已满?无论如何,这是一个最大的努力,免费的服务水平
-
有一个特别提到这个缓存已满导致内存问题 - 它在内部是一个键值映射,这意味着如果在整个生命周期中维护相同的映射,它确实会导致问题.我可以定期运行 clear() 但似乎是一个 hack 和不必要的工作,因此我的问题是首先如何避免它,因为我不打算使用它。
标签: google-app-engine google-cloud-datastore objectify