投票者の数が 1,000 を超え、増加し続けて W (1 万人) の規模に達した場合は、早期に独立して、投稿の投票記録を保存する別のコレクションを作成します。
投票者の数が W に達し、投票の頻度が比較的頻繁である (または投票の悪意のある操作がある) 場合は、キャッシュの使用を検討して、すべての投票者の ID を集中キャッシュに保存し、そのキャッシュを使用する必要があるかもしれません ( Redis はネイティブで Set 構造をサポートしており、繰り返し投票するかどうかを確認し、バックグラウンドで定期的に mongodb に同期します。
投票者の数が数百万に達し、投票の頻度も客観的である場合は、キャッシュを使用する必要があります。また、計算を通じてすべての投票者の ID をマッピングするための分散キャッシュ クラスターでもあります (単純に mod 操作を行うことができます)。特定のキャッシュ サーバーの場合、処理方法は 3 と同様です。
デザインする前にデータサイズをご確認ください: