6

反対に、それはページビュー、ダウンロード、投票数などである可能性があります。基本的に、それほど「重要な」データではありません。

それらの情報を保存するための「最良の」方法は何ですか? Mysql は適切なオプションではありません。皆さんは何を使っていますか?

4

4 に答える 4

10

次の理由から、Redis を使用すると思います。

  • Antirediz(彼のニックネーム) は本当に積極的にRedisを開発しています。(私の github ダッシュボードを見るたびに、彼はいくつかの新しいコードをコミットしています)。彼は現在、VMware のおかげでフルタイムでredis を開発しています。
  • Redis は最終的には永続的であるため、パフォーマンスは最高です (最初は高速なメモリのみを使用します)。
  • Redis には、必要なアトミックインクリメント操作があります。
  • Redis には多くの優れた PHP ライブラリがあります。C拡張として書かれたものもあり、非常に優れたパフォーマンスを発揮します。Redis の Web サイトには、これらの拡張機能の概要もあります。一部は純粋な PHP コードです (実行は少し遅くなりますが、設定は簡単です)。
于 2010-01-13T16:28:15.803 に答える
9

アップサートを備えたMongoDBはこれに最適です。

次のようなものを保存している場合:

{ "url" : "www.example.com", "pageviews" : 0 }

アトミック操作 $inc を使用すると、ページビューを非常に迅速にアトミックにインクリメントできます。

db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})

アップサートを使用する場合、ドキュメントを更新する前にドキュメントが存在するかどうかを確認する必要はありません。たとえば、次のように言います。

db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})

URL www.example.com を持つドキュメントが存在しない場合は作成され (ページビューが 1 に設定)、存在する場合はページビューが増分されます。これは、コレクションの事前設定について心配する必要がないことを意味します。

于 2010-01-11T22:28:53.870 に答える
1

1990年代の有名なビューカウンターは、単純なファイルを使用して番号を保存していました。1つの番号を保存するだけでよい場合は、何でも十分です。

于 2010-01-10T02:27:01.310 に答える
-1

APCまたはmemcachedが良い選択だと思います。

于 2010-01-10T02:34:16.600 に答える