0

PHPを使用して単一のレジストリを数回読み書きし、しばらくすると(数分)消えるシステムがあります。

基本的に、(1倍に)増減できるカウンター(整数のみ)を備えた一種の投票システムです。

したがって、ユーザーがこのページにアクセスするたびにそれを読み、ほとんどの場合(ユーザーが対話するとき)に書き込む必要があります。

現在、私はDB(MySQL)を使用して、単一のテーブルと1つの列を持つ単一のレジストリを使用してこれを行っています。

しかし、私はそれが非常に非効率的だと思います。

また、Webサイトが成長し続けると、残りのコンテンツをキャッシュできるため、Webサイトが崩壊するのではないかと心配していますが、リアルタイムである必要があるため、キャッシュできません。

ファイルを使うことを考えましたが、もっと悪いかもしれませんね。

共有サービスでホストされているため、MemCachedまたはRedisを使用できません

それを効率的に行う方法について何かアイデアはありますか?

前もって感謝します。

4

1 に答える 1

0

共有ホスティング環境では、これが難しいのではないかと心配しています。にアクセスできない可能性が/dev/shmあるため、ファイル キャッシュはオプションではありません。APC と memcached も機能しません。

したがって、残っているオプションは 1 つだけです。それは、クエリを最適化することです。INSERT1 つには、非常に多くの書き込みを行う 1 つのテーブルでのみ使用することをお勧めします。次に、集計値のみを保持する 2 つ目のテーブルを作成します。ここでは必要ですUPDATEが、更新頻度は 1 分または 2 分単位にする必要があります (表 1 から生データも削除します)。したがって、データは依然としてほぼリアルタイムですが、パフォーマンスははるかに優れており、更新時間の増加に応じて直接スケーリングされます.

于 2012-12-03T15:29:01.980 に答える