App Engine Memcache 在所有实例之间共享一个值

App Engine Memcache a single value shared across all instances

我需要在 Google App Engine 中跨所有实例共享一个 MemCache 密钥。此键用于读取和递增,速率很高(500 /秒)。

Google 建议不要使用 "hot keys",他们建议改用数据存储。 由于我无法通过数据存储中的单个命令增加或减少值,因此这对我来说不可用。

我还有什么其他选择?

谢谢

您正在寻找的是所谓的分片计数器。

基本上你需要一些 CounterShard 个实体来存储价值。您将增量步骤分解为独立的计数器,然后在需要时加载并求和所有值(这很便宜)。

对于 500/秒 我猜你最多需要 100 个碎片,但我建议你做一些实验来找到最佳价值。

有完整的热用示例:https://cloud.google.com/appengine/articles/sharding_counters