【问题标题】:Datastore vs Memcache for high request rate game用于高请求率游戏的 Datastore 与 Memcache
【发布时间】:2013-07-17 14:13:26
【问题描述】:

我一直在将数据存储与 ndb 一起用于多人游戏应用程序。这似乎使用了大量的读取/写入,无疑会超出配额并花费大量费用。

我正在考虑将所有游戏数据更改为仅存储在内存缓存中。我知道存储在此处的数据随时可能丢失,但由于数据最多只需要 10 分钟,而且它只是一个游戏,所以还不错。

我是否适合单独使用 memcache,还是有更好的方法,memcache 本质上是“免费”的短期数据存储吗?

【问题讨论】:

    标签: python google-app-engine memcached google-cloud-datastore app-engine-ndb


    【解决方案1】:

    是的,memcache 是免费的,您可以将它用作免费的“数据存储”。请记住,它可以随时清除(如果大量使用,则更有可能被清除)并且它也并非总是可用。要检查 memecache 的可用性,请使用 Capabilities API

    【讨论】:

    • 然而,谷歌在 1.8.2 中引入了专用的内存缓存,这意味着它所说的你可以为你的应用程序获得专用的内存缓存,你需要为大小付费,如果我正确解释文档,谷歌不会驱逐东西如果您支付足够的空间。
    • 我刚刚检查了专用的内存缓存,每月至少 87 美元,太贵了,但感谢您提供的信息。
    • 对 Tim H 在上一篇笔记中所说的澄清:如果你使用专用的内存缓存,你的数据仍然会丢失。尽管您的应用确实获得了保证的内存量,但仍然存在数据丢失的原因,例如 Google 在地理上移动您的应用。
    【解决方案2】:

    作为另一个答案的评论者指出,现在有两种 memcache 产品:共享和专用。共享是原始服务,并且仍然是免费的。 Dedicated 处于预览阶段,目前费用为 $.12/GB 小时。

    专用内存缓存允许您留出一定数量的空间。但是,重要的是要了解,由于机器重新启动等原因,您仍然可以随时使用专用的 memcache 体验部分或完全刷新。因此,它不是数据存储的合适替代品。

    但是,确实可以通过明智地使用 memcache 来大大减少数据存储的使用量。例如,将其用作直写缓存可以大大减少您的数据存储读取(尽管不是写入)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多