私は本質的にページがヒットするたびにログに記録される解析ツールを書いています。私が持っている問題は、印象の量が非常に高くなる可能性があり、1日に数百万回、または少なくとも300秒(私は人々が毎秒10kを達成することができると言いました)を処理する必要が潜在的になります。私の現在の設定は、ページがMySQLのinnodbテーブルに直接挿入されるたびにPHPのログに記録されますが、これは遅くなり、時折ヒットしてしまいます。私の考えは、memcacheを前面に置き、すべてのインプレッションを最初に記録してから、memcacheからインプレッションを取り込んだ静的なバッチ処理を実行し、静かな時間にデータベースに格納します。午前3時。だから私の質問はどのようにmysqlにフラッシュする前にmemcacheの大きなページの印象を処理する
1)これは正しい方法ですか?理想的には、私は新しい技術を実装したり、mongoやcouchのようなNoSQL DBを実装したりしたくありません。
2)私はどのようにmemcacheでこれを行いますか?現在キャッシュにあるすべてのキーを見つける方法がないので、各インプレッションごとにインクリメントするカウンタを設定し、データを含むIDとしてカウンタを持つキーを設定すると、バッチプロセスは最後の位置からループしますカウンターにそれらのレコードを処理し、現在のカウンタにその最後の位置を設定する。..
すべてのヘルプは、私はserperateバッチを作成して、代わりにそれをintegratieないでしょう
乾杯
http://php.net/manual/en/book.memcached.phpあなたは(私が推薦する)いくつかのNoSQL技術のために行く場合は、私の中でのRedisを試してみてください – amolv
マニュアルMemcachedのopionionあなたの仕事に最適な技術... – TheHippo