1

memcached をセットアップしています。高トラフィックとキーの更新/設定のベスト プラクティスについていくつか質問があります。ユーザーに 10、50、100 単位でポイントが割り当てられるオンライン ゲームを作成しています。

使用: ユーザーの「ゲーム統計」をキーに保存し、約 5 分ごとに cron ジョブを実行して、データストア内の統計を永続的に更新します。このようにして、「ゲーム」はデータベースにアクセスして値やポイントを取得することなく機能できます。

ウォームアップ スクリプトを使用して、ユーザー統計のキーをプルして入力します

質問 :
1) トラフィックが多く、そのユーザーにキーを書き込もうとすると、問題が発生する可能性はありますか?

2) memcache の値をインクリメントするためのベスト プラクティスは?

これは私が現在使用しているものの大まかな考えです

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

3) ユーザーのゲーム統計を memcache に保存するための推奨事項は? 任意の入力をいただければ幸いです。

皆さん、ありがとうございました!

4

1 に答える 1

4

Memcache のインクリメント関数を使用して、Memcache に保存されている値をインクリメントする際の潜在的な競合状態を回避します。

インクリメント以外の計算 (ゼロへのリセットなど) が必要な場合は、compare and swap (cas)を使用します。

于 2012-10-07T17:20:49.853 に答える