PHP-Redis/Memcachedb/Pythonのその他の永続的な記録を保管カウンター

StackOverflow https://stackoverflow.com/questions/2035808

  •  19-09-2019
  •  | 
  •  

質問

によるカウンターでpageviewsのダウンロード数が投票。基本的には議論の余地がデータです。

うに"最適な"つ者。Mysqlにあてはまるわけではないオプションです。そうですね。

役に立ちましたか?

解決

思い出Redisで:

  • Antirediz(ニックネーム)も積極的に開発 Redis.(毎時私はそれをずっと探していたI githubでダッシュボードのたcommited新しいコードとします。現在、開発redis 常勤 コVMware
  • Redisは最終的に続くのはkickass(第使用メモリがいます)を活用したいと思います
  • Redisは原子 増分値 動作あります。
  • Redisは多くの良いPHP。まるで書かれてお C延長 でいます。 Redisサイト も概観しれます。あ純PHPコードを実行litleが遅くなりがしやすい設定).

他のヒント

アップサートと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のだと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top