ポイントとランキングをリアルタイムで計算する最速かつ最も効率的な方法を知りたいです。
ベッティング フットボール ゲーム (ユーザーがゲームの結果を予測するゲーム) をやっています。私の国では「キニエラ」と呼ばれています。
プレイヤーは試合開始直前に「予想」を立てます。私の質問は、ゲームが開始された瞬間から、ゲームの実際の結果に関する予測としてプレイヤーのランキングを「リアルタイム」で計算する最も効率的な方法 (コード レベルだけでなく、データベースとサーバーに対しても) です。 .
例えば:
チーム 1 とチーム 2 が対戦する場合、ユーザー U1 はゲームが 0-0 で終了すると予測し、U2 はゲームが 1-0 で終了すると予測し、U3 はゲームが 1-1 で終了すると予測しました。
ゲームを開始するとき、U1 はランキングで 1 位になります。なぜなら、試合がこのように終了した場合、U1 の予測は正しいか、少なくとも最も正確であるからです。
その後、スコアは 1-0 に切り替わり、ユーザー U1 がランキングの最後になり (彼の予測はもはや不可能であるため)、U2 が 1 位、U3 が 2 位になります。
スコアが 1-1 に変わった場合、U2 が最初に、U3 が 2 番目になり (結果の一部を推測したため)、U3 が最後になります。
スコアを変更し、ランキングを「一時的に」変更して、キャッシュに保持するときに、1 つのレベル (0-0 の最初のノード、1-0 と 0-1 を子ノードとして) で可能性のツリーを作成することを考えました。
ゲームが終わったら、最新のランキングをデータベースに保存します。
この問題を解決するためのより最適な方法はありますか? 以前に提案され、すでに解決されていますか? データベースには MySQL、サーバーには PHP (Cake Php) を使用しています。
私の不自由な英語で申し訳ありません=(