gpt4 book ai didi

java - 谷歌应用引擎中出现 'Policy prevented put operation'的原因是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:46 25 4
gpt4 key购买 nike

将数据放入缓存时会记录以下异常。

com.google.appengine.api.memcache.stdimpl.GCacheException: Policy prevented put operation

缓存中存储的数据:

Map<String, List<Dependents>> dependentMap = new HashMap<String,List<Dependents>>();

map 键中将有一个 ID,每个 ID 将有 0 个或多个对象(最多 5 个对象)。

map 大小为:

dependentMap.size() = 1500 approximately

策略已设置为 MemcacheService.SetPolicy.SET_ALWAYS,这是默认值。

它工作正常,但当通过调用 clear() 方法清除缓存时出现问题。

是什么原因以及如何解决这个问题?

最佳答案

如果 dependentMap.size() 为 1500 并且每个列表最多包含 5 个对象,那么您将在单个数据结构中存储最多 7500 个对象,对吗?情况可能是这样的,根据您的数据加上 Java 维护的内部数据表示,这个 Map 大于 1MB。

根据 Google App Engine 配额/限制,您无法将任何大于 1MB 的数据结构存储到内存缓存或数据存储区中。这就是您收到异常的原因 - Google 由于其大小而不允许将此 Map 插入到 Memcache 中。我认为调用 clear() 与您的问题没有任何关系。

关于java - 谷歌应用引擎中出现 'Policy prevented put operation'的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com