PHP-Redis/Memcachedb/Pythonのその他の永続的な記録を保管カウンター
-
19-09-2019 - |
質問
によるカウンターでpageviewsのダウンロード数が投票。基本的には議論の余地がデータです。
うに"最適な"つ者。Mysqlにあてはまるわけではないオプションです。そうですね。
他のヒント
アップサートとMongoDBは、このための素晴らしいです。
あなたのようなものを保存している場合:
{ "url" : "www.example.com", "pageviews" : 0 }
することができます本当にすぐ原子操作$の株式会社とのアトミックインクリメントページビュー:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}})
あなたがアップサートを使用する場合は、、あなたはドキュメントがそれを更新する前に存在しているかどうかを確認する必要はありません。たとえば、あなたが言う場合:
db.downloads.update({'url' : 'www.example.com'}, {'$inc' : {pageviews : 1}}, {"upsert" : true})
それが存在しない場合には、(1に設定し、ページビューで)が存在しない場合、またはURL www.example.comとの文書が作成され、ページビューがインクリメントされます。これは、コレクションを事前移入を心配する必要がないことを意味します。
1990年代の有名なビューカウンターは番号を保存するために、単純なファイルを使用していました。あなたが必要とするすべては一つだけ番号を記憶するのであれば、何でも十分です。
私は良い選択肢であるAPCまたはmemcachedのだと思います。
所属していません StackOverflow