0

我想在 App Engine 上实现计数器。显而易见的方法是为此目的使用 memcache。但是文档指出 memcache 不可靠,我必须实施后备方法,以防 memcache 中的计数器值错误或丢失。我可以很容易地检测到密钥丢失,但我怎么知道计数器的值有误?我说的是以下情况:

  1. 键 = 30
  2. 增量(键),键 = 31
  3. 密钥被 GAE 刷新
  4. 增量(键),键 = 1

有什么我不知道的技巧(与 memcache 一起使用的数字的校验和?)?我真的应该关心这种情况吗?

一些可能无用的细节:

  • 计数器的值范围为 0-10000。
  • 柜台应该活 1 小时。我每小时将它们存储在数据存储中。
  • 我正在使用围棋。

谢谢。

4

2 回答 2

3

我认为 Nick Johnson 的这篇文章会对你有所帮助:http: //blog.notdot.net/2010/04/High-concurrency-counters-without-sharding

于 2012-09-30T18:49:33.613 回答
0

我会为此使用开源库。你看过这个吗?

https://github.com/oodlemud/appengine-counter

于 2014-04-25T15:50:03.830 回答