0

Railsアプリを構築していて、さまざまなページで使用(読み取りと書き込み)されるサイト全体のカウンター変数(カウンター)があります。基本的に、多くのページでカウンターインクリメントが発生する可能性があります。これは、この変数を格納するためのマルチスレッドセーフな方法です。 1)スレッドセーフであり、多くの同時ユーザーアクセスがこの変数の読み取りと書き込みを行う可能性があります2)パフォーマンスが高いため、当初はこの変数をDBに永続化することを考えていましたが、高い可能性があることを考えると、より良い方法があるのではないかと思いますリクエストの量が多く、このDBクエリをアプリのボトルネックにしたくありません...

提案?

4

2 に答える 2

1

それが完全に正確でなければならないかどうかに依存します。そうでない場合は、 memcachedに保存して、データベースと同期することができます。memcachedがクラッシュした場合、期限切れになり(適切に構成されていれば発生しないはずです)、シャットダウンなどを行い、起動時にデータベースからリロードする必要があります。

membaseもご覧ください。試したことはありませんが、簡単にするために、ディスクに自動的に保持される分散memcachedサーバーです。

パフォーマンスと精度を向上させるために、シャードアプローチを検討することができます。

于 2012-05-17T03:18:52.307 に答える
0

永続性が必要なので、データベース/セッション/ファイル、AFAIKに保存する必要があります。

于 2012-05-17T03:16:23.980 に答える