1

我正在设置 memcached。我有几个关于高流量和更新/设置密钥的最佳实践的问题。我正在创建一个在线游戏,其中以 10,50,100 的增量为用户分配积分。

用途:将用户“游戏统计信息”存储在密钥中,并每 5 分钟左右运行一次 cron 作业,以永久更新数据存储中的统计信息。这样,“游戏”就可以运行,而无需去数据库获取值、点。

将使用预热脚本来提取和填充用户统计信息的键

问题:
1)在交通繁忙的道路上是否会出现问题并试图写信给该用户点关键?

2)在内存缓存中增加值的最佳实践?

这是我现在使用的粗略想法

$newval = $memcache->get( $key ); 
$memcache->set($key, $newval+10, false, 1000) or die ("Failed to save data at the server");

3)在内存缓存中存储用户游戏统计数据的建议?任何投入将不胜感激。

谢谢你们!

4

1 回答 1

4

在增加存储在 Memcache 中的值时,使用Memcache 的增量函数来避免潜在的竞争条件。

如果您需要做除递增之外的其他数学运算(例如重置为零),请使用compare 和 swap (cas)

于 2012-10-07T17:20:49.853 回答