反対に、それはページビュー、ダウンロード、投票数などである可能性があります。基本的に、それほど「重要な」データではありません。
それらの情報を保存するための「最良の」方法は何ですか? Mysql は適切なオプションではありません。皆さんは何を使っていますか?
反対に、それはページビュー、ダウンロード、投票数などである可能性があります。基本的に、それほど「重要な」データではありません。
それらの情報を保存するための「最良の」方法は何ですか? Mysql は適切なオプションではありません。皆さんは何を使っていますか?
次の理由から、Redis を使用すると思います。
アップサートを備えた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 に設定)、存在する場合はページビューが増分されます。これは、コレクションの事前設定について心配する必要がないことを意味します。
1990年代の有名なビューカウンターは、単純なファイルを使用して番号を保存していました。1つの番号を保存するだけでよい場合は、何でも十分です。
APCまたはmemcachedが良い選択だと思います。