您正在查看 Apigee 和 Apigee Hybrid 文档。
查看 Apigee Edge 文档。
Apigee 能够在运行时将数据存储在缓存中,以实现持久性和更快检索。
- 数据最初存储在 Message Processor 的内存缓存中,这种缓存称为 L1 缓存。
- L1 缓存受为其保留的内存量(占 JVM 内存的百分比)的限制。
- 缓存的条目随后保留在 L2 缓存中,可供所有 Message Processor 访问。更多详情,请参阅下文。
- L2 缓存对缓存条目数量没有任何硬性限制,但可缓存的条目大小上限为 256 KB。为获得最佳性能,建议将缓存大小设置为 256 KB。
反模式
这种特定的反模式会讨论超出 Apigee 中当前缓存大小限制所造成的影响。
当缓存大于 256 KB 的数据时,会产生以下后果:
- 因为在 L2 缓存中没有大于 256 KB 的条目,因此在每个 Message Processor 上首次执行的 API 请求都需要独立于原始来源(政策或目标服务器)获取数据。
- 在 L1 缓存中存储较大的数据(大于 256 KB)会给平台资源带来更大的压力。这使得 L1 缓存内存的填充速度更快,从而使得其他数据的空间更少。因此,任何人都无法像希望的那样缓存数据。
- 达到条目数量上限时,Message Processor 中的缓存条目将被移除。这会导致相应 Message Processor 重新从原始来源提取数据。
影响
- 大于 256 KB 的数据不会存储在 L2/persistent 缓存中。
- 更频繁地调用原始来源(政策或目标服务器)会增加 API 请求的延迟时间。
最佳做法
- 为了获得最佳性能,最好在缓存中存储小于 256 KB 的数据。
- 如果需要存储大于 256 KB 的数据 ,则应考虑:
- 使用适当的数据库来存储大数据
OR
- 压缩数据
- 使用适当的数据库来存储大数据