我一直在将数据存储与 ndb 一起用于多人游戏应用程序。这似乎使用了大量的读/写,无疑会超出配额并花费大量费用。
我正在考虑将所有游戏数据更改为仅存储在内存缓存中。我知道存储在这里的数据随时可能丢失,但由于数据最多只需要 10 分钟,而且它只是一个游戏,这还不错。
我是否可以单独使用 memcache,还是有更好的方法,memcache 本质上是“免费”的短期数据存储吗?
我一直在将数据存储与 ndb 一起用于多人游戏应用程序。这似乎使用了大量的读/写,无疑会超出配额并花费大量费用。
我正在考虑将所有游戏数据更改为仅存储在内存缓存中。我知道存储在这里的数据随时可能丢失,但由于数据最多只需要 10 分钟,而且它只是一个游戏,这还不错。
我是否可以单独使用 memcache,还是有更好的方法,memcache 本质上是“免费”的短期数据存储吗?
是的,memcache 是免费的,您可以将它用作免费的“数据存储”。请记住,它可以随时被清除(如果大量使用,则更有可能被清除)并且它也不总是可用的。要检查 memecache 的可用性,请使用Capabilities API。
正如另一个答案的评论者指出的那样,现在有两种 memcache 产品:共享和专用。共享是原始服务,并且仍然是免费的。Dedicated 处于预览阶段,目前收费 0.12 美元/GB 小时。
专用内存缓存允许您留出一定数量的空间。但是,重要的是要了解,由于机器重启等原因,您仍然可以随时使用专用的 memcache 体验部分或完全刷新。因此,它不是数据存储的合适替代品。
但是,确实可以通过明智地使用 memcache 来大大减少数据存储的使用。例如,将其用作直写缓存可以大大减少您的数据存储读取(尽管不是写入)。
希望这可以帮助。